C语言—判断一个数有几位数,小白看这里
思路:想要判断一个数有几位数,一般思路是将这个数/10,进行循环,当这个数一直除到等于零,走出循环,每一次除以10,相当于划掉一位数,这时计数器(count)加一,直到走出循环。
看到这里你可能懵懵懂懂,或者完全不懂,没关系,我们来举一个具体例子。
以上例子一直在重复做/10这个操作,故我们可以用到循环,问题来了用哪种循环,由于我上面例子,上来就直接对数字除以10,所以我用了do while循环,我在上面提到当number = 0,不再循环,所以要进行循环的条件是number != 0。
具体代码如下
#include<stdio.h>
int main()
{
int number = 0;
printf("请输入一个数字:\n");
scanf("%d", &number);
int count = 0;//注意计数器要初始化为0
do
{
number = number / 10;// number/10就可以划掉最后一位数字
count++;//count相当于一个计数器,每次划掉一个数字相当于有一位数,count加一
} //当最后只剩一位数时,number/10为0,退出循环,故循环条件是number != 0
while (number != 0);//记得加分号
printf("这个数字有%d位数\n", count);//最后只需要输出计数器里面的数字就可以知道有几位数
return 0;
}
运行结果如下: