我们直接来看代码:
#include<stdio.h>
#include<math.h>
void Fun(int n)
{
int i=0;
int m=n;
int k=n;
do
{
n=n/10;
i++;
}while(n!=0);
printf("%d是%d位数\n",m,i);
printf("正序输出:\n");
int power=pow(10.0,i-1);
for(int j=0;j<i;j++)
{
printf("%d ",m/power);
m%=power;
power/=10;
}
printf("\n");
printf("逆序输出:\n");
do
{
printf("%d ",k%10);
k/=10;
}while(k!=0);
printf("\n");
}
int main()
{
Fun(847324);
Fun(0);
Fun(123456);
Fun(10);
Fun(9);
return 0;
}
在这里,我们使用do-while语句是为了更好地处理0~9之内的一位数,因为do-while语句中的循环语句至少会被执行一次,而while语句不行。