C言語で数値の桁数をカウントの方法
整数の位数を判定する方法は以下と同様です。
#include <stdio.h>
int countDigits(int num) {
int count = 0;
if (num == 0) {
return 1; // 如果num为0,直接返回1
}
while (num != 0) {
num /= 10; // 将num除以10,每次去掉最后一位
count++; // 计数器加1
}
return count;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
int digits = countDigits(num);
printf("%d的位数为:%d\n", num, digits);
return 0;
}
上記のコードのcountDigits関数は、整数の桁数を数える関数です。numが0かどうかを判定し、0であれば1を返します。そうでなければ、whileループでnumを10で割って0になるまで繰り返し、そのたびにカウンタのcountを増やします。最後に、countを結果として返します。main関数では、まず整数numを入力し、countDigits関数を呼び出してその桁数を数え、結果を出力します。