首先是第一问:统计数字n是个几位数;
这一问相对比较简单,思路就是对n整除,循环进行,直到n=0,返回循环的次数,方法使用while循环,for循环,或者do…while循环都可以进行,这里我选择了代码量最少的do…while 循环`
int Count(int n)
{
int tmp = 0;
do
{
n /= 10;
tmp ++;
}while(n != 0);
return tmp;
}
第二问就是顺序和逆序,
逆序输出的思路就是,每次对n除余,得到最小位数字,再将n的位数除10,循环进行,直到n=0时跳出循环;
这里我采用还是do…while循环。
void PrintReverse(int n)
{
if(n < 0)
{
printf("-");//这里是对负数的逆序输出加一个“负号”
}
do
{
printf("%d ",n%10);
n /= 10;
}while(n != 0);
printf("\n");
}
本文介绍了一种用于统计数字位数及逆序输出的算法实现,通过do...while循环进行位数计数和逆序打印,适用于正负整数。

1873

被折叠的 条评论
为什么被折叠?



