判断位数
include <stdio.h>
int main()
{
int x;
int n=1;
scanf("%d", &x);
if (x>999){
n=4;
}else if (x>99){
n=3;
}else if (x>9 ){
n=2;
}
printf("%d\n",n );
return 0;
}
上面是用if语句写的一个级联的程序
判断数字的位数可以这样写 但是如果判断的数位数非常多 这样写就会很麻烦而且写不完
这时候就要用循环
#include <stdio.h>
int main()
{
int x;
int n = 0;
scanf("%d", &x);
n++;
x /=10;
while(x>0){
n++;
x /=10;
}
printf("%d\n", n);
return 0
循环前面的n++有很大的用处
n++就是 n加1 前面讲过
if(x>0){
x /=10 ;
n++;
}
while(x>0){
x /=10;
n++;
}
if换成while就是循环了 if只是一次性的 while会反复的做
循环体内要有改变条件的机会 要不然会陷入死循环
如果将while翻译为当 那么while循环的意思是 当条件满足时不断重复循环体内的语句。
条件成立是循环继续的条件 执行循环之前判断是否执行循环 所以有可能循环一次也没有被执行。
验证 验证程序常使用边界数据 如有效范围两端的数据 特殊的倍数 个位数 10 0 负数等
有很多写法