数字的逆序数问题 啊标题

给一个不多于5位的正整数,编程实现:1)输出它是几位数2)分别输出每一位的数字3)计算并输出该数字的逆序数。(例如x=123,则其逆序数为y=321)

#include<stdio.h>
int main() {
    int n,s=0,cnt=0;
    scanf("%d",&n);
    while(n!=0){
        printf("%d ",n%10);
        s=s*10+n%10;
        n/=10;
        cnt++;
    }
    printf("\n%d位数,逆序数:%d",cnt,s);
    return 0;
}


 有帮助请采纳

#include <stdio.h>
#include <math.h>
int main(void) { 
int n;  
scanf("%d",&n);
int i=0,arr[5];
while(n>0)
{
  arr[i++]=n%10;
  n/=10;
}
printf("%d\n",i);
for(i--;i>=0;i--)
  printf("%d ",arr[i]);
    return 0;
}