while循环与do-while循环
#include<stdio.h>
#include<math.h>
int main()
{
int x,n,i,m;
printf("请任意输入一个正整数:");
scanf("%d",&x);
n=(x/10);
i=1;//初始化值为1,因为n已经除过一次
while(n!=0)//循环条件是n不为0
{
n=(n/10);//因为n的设定就是整数,当算出分数时,n的值为0
i++;//位数自增
}
printf("这个数是%d,是%d位数\n",x,i);
//接下来开始进行逆序打印
m=x;
do{
x%=10;//一个数除以10所得余数就是个位上的数
printf("%d",x);//打印这个个位上的数
m/=10;//输的那个正整数除以10得到少一位的数,接下来就要求这个少一位的数的个位数
x=m;//把这个少一位的数赋值给x
//然后进行下一个循环,得到少一位数的各位数(即之前输入的数的十位数)
}
while(x!=0&&m!=0);//循环进行的条件
return 0;
}