实现计算一个数字位数的程序如下:
仅满足四位数的程序• 因为题⺫⽬目明确了4位数及以 下的正整数,所以可以简 化⼀一些判断
• 因为从⾼高处往下判断,所 以不需要判断上限了
• 反过来不⾏行
• 问题:任意范围的正整数 怎么办?
用while循环
#includeint main()
{
int x;
int n=0;
scanf("%d",&x);
n++;
x/=10;
while (x>0)
{n++;
x/=10;
}
printf("%d\n",n);
return 0;
}
循环就是将下面的if换为while
if ( x > 0 )
{ x /= 10 ;
n++; }
while ( x > 0 )
{ x /= 10 ;
n++;
}
小技巧:
在循环过程中加入printf()就可以知道在运行过程中计算机的计算过程;
#includeint main()
{
int x;
int n=0;
scanf("%d",&x);
while (x>0)
{printf("hr\n")
n++;
x/=10;
printf("x=%d,n=%d\n",x ,n);
}
printf("%d\n",n);
return 0;
}
检查程序中的错误do-while循环
• 在进⼊入循环的时候不做检查,⽽而是在执⾏行 完⼀一轮循环体的代码之后,再来检查循环 的条件是否满⾜足,如果满⾜足则继续下⼀一轮 循环,不满⾜足则结束循环
do
{
<循环体语句>
} while ( <循环条件> );
记住:do while语句 while ( <循环条件> );有分号
网友评论