第一种方法:利用数组存储
//从低位到高位输出
#include
int main()
{
int x,i;int a[50];
int k=0;
printf("请输出一个数");
scanf("%d",&x);
while(x>0)
{
a[k]=x%10;
x/=10;
k++;
}
for(i=0;i
{
printf("%3d",a[i]);
}
return 0;
}
//从高位到低位输出
#include
int main()
{
int x,i;int a[50];
int k=0;
printf("请输出一个数");
scanf("%d",&x);
while(x>0)
{
a[k]=x%10;
x/=10;
k++;
}
for(i=k-1;ia.=0;i--)
{
printf("%3d",a[i]);
}
return 0;
}
第二种方法:
//从高位往低位输出
#include
int main()
{
int a;
printf("请输出一个数");
scanf("%d",&a);
output(a);
}
void output(int x)
{
if( x >= 10)
{
output(x / 10); //x=x/10也对,区别在于没有存储而已,这也像“”中断函数“一样
}
printf("%d ",x % 10);
}
//从低位往高位输出
#include
int main()
{
int a;
printf("请输出一个数");
scanf("%d",&a);
output(a);
}
void output(int x)
{
if( x > 0)
{
printf("%d ",x % 10);
output(x / 10);
}
}