这道题的思路在于,如果想要判断一个整数的位数,那么就必须要用循环语句一位一位的计算,当x大于0时,进入循环。x除以10取整,如果x取整之后大于0,说明x不止一位,那么继续进行循环,循环一次i+1,直到x=0时,说明已经除到最高位了,那么我们就可以退出循环,输出次数i了。

#define _CRT_SECURE_NO_WARNINGS
#include

int main()
{
int x = 0;
int i = 0;
scanf(“%d”, &x);//输入一个整数
while (x > 0)
{
x /= 10;//x除以10取整
i++;//进行一次循环i+1
}
printf(“%d”, i);
return 0;
}