//看到csdn上做这道题写的代码都比较冗余,所有就自己写了一个,有不好的地方欢迎指正。
#include<stdio.h>
#define N 5 //这里用符号常量方便改数组的大小
int main()
{
int a[N],n,i,j;
printf("请输入一个不多于%d位的整数:",N);
scanf("%d",&n); //输入一个正整数n
for(i=0;n;i++) //求n是几位数
{
a[i]=n%10;
n/=10;
}
printf("这个数是%d位数\n",i);
for(j=0;j<i;j++) //逆序输出n
{
printf("%d",a[j]);
}
return 0;
}
//几天后又想到了这个题目,一个while就可以解决
#include<stdio.h>
int main()
{
int n,a,i=0;
printf("请输入一个整数:");
scanf("%d",&n);
while(n)
{
i++; //求位数和倒序输出可以在while里合一
a=n%10;
n/=10;
printf("%d",a);
}
printf("\n");
printf("这个数是%d位数",i);
return 0;
}