c语言逆序排列(数组)

162 阅读1分钟

逆序排列

题目描述
输入一个整数,从高位开始逐位分割并输出各位数字。
输入
输入一个正整数n,n是int型数据
输出
依次输出各位上的数字,每一个数字后面有一个空格,输出占一行。例如,输入 12345 ,输出 1 2 3 4 5
样例输入
12345
样例输出
1 2 3 4 5

#include<stdio.h>
int main()
{
   long int n,x[1000],i=0,a=0;
   scanf("%ld",&n);
   do
   {
       x[i]=n%10;/*分割个位,将每次的个位按顺序储存在数组中*/
       n=n/10;/*排除个位*/
       a++;/*记录数组个数,由于数组从0开始,所以最后注意减一*/
       i++;

   }while(n>0);
   for(i=a-1;i>=0;i--)/*循环逆序输出储存在数组中的值,起始位置是a-1*/
   {
       printf("%ld ",x[i]);
   }
   printf("\n");

return 0;
}