要求一个正整数的位数,可以通过循环和除法运算来实现。以下是一个使用 C 语言的示例
代码:
#include <stdio.h>
int main() {
unsigned int num;
int count = 0;
printf("请输入一个正整数:");
scanf("%u", &num);
while (num > 0) {
num = num / 10;
count++;
}
printf("该正整数的位数为:%d", count);
return 0;
}
在上述代码中,首先声明了一个无符号整数变量 num 和一个整数变量 count,用于保存输
入的正整数和位数。然后通过 scanf 函数让用户输入一个正整数。
接下来的 while 循环中,每次将 num 除以 10,并将结果赋值给 num,同时 count 自增 1。
循环的条件是 num 大于 0,即当 num 不再有位数时,循环结束。
最后,通过 printf 函数输出正整数的位数。
注意,上述代码中使用了 unsigned int 来保存输入的正整数,以确保输入的数为正整数。此
外,还可以添加其他输入验证的代码,以确保输入的是正确的正整数。