问题分析:
拿到每一个数的每一个位数都已经很熟悉,都知道是先mod10,拿到个位数字,之后再除以10,继续mod10,再拿到个位数字,以此类推,比如说一个数组123456,结果出来的会是654321,这样的结果并不是我们想要的,所以应该把整体数组倒置,然后依次输出。这个时候我们就需要没拿到一位数,就把它放在一个新数组中,然后把这个数组倒置。
#include<stdio.h>
void Exchange(int a[4],int len)
{
int left=0;
int right=len-1;
int temp=0;
while(left<=right)
{
temp=a[left];
a[left] =a[right];
a[right]=temp;
left++;
right--;
}
} //用数组实现倒置 使得这个数的各位数字能按顺序打印
int main()
{
int n=0;
int m=0;
int i=0;
int a[4];
int len=sizeof(a)/sizeof(a[0]);
scanf("%d",&n);
while(n>0)
{
m=n%10;
n/=10;
a[i]=m;
i++;
}
Exchange(a,len);
for(i=0;i<len;i++)
{
printf("%d\n",a[i]);
}
getchar();
return 0;
}