这道题选择使用函数来完成,其主要特点为巧妙运用除(/)和取余(%)符号。依次输出的思想为:获取一位,丢弃一位。代码如下:
#include<stdio.h>
#include<math.h>
int Count(int n)
{
int count=0;
if(n==0)
{
return 1;
}
while (n!=0)
{
n/=10;
count++;
}
return count;
}
void Output(int n)
{
int count=Count(n);
int power=pow(10.0,count-1);
if(n==0)
{
printf("正序输出为:0\n");
return;
}
else
printf("正序输出为:");
while(n!=0)
{
printf("%d ",n/power);
n%=power;
power/=10;
}
printf("\n");
}
void Reverse(int n)
{
if(n==0)
{
printf("逆序输出为:0\n");
return;
}
else
printf("逆序输出为:");
while(n!=0)
{
printf("%d ",n%10);
n/=10;
}
printf("\n");
}
int main()
{
int a;
printf("请输入需要求的数字:");
scanf("%d",&a);
printf("位数:%d\n",Count(a));
Output(a);
Reverse(a);
return 0;
}