求大神用c语言解决一下这个问题

求大神用c语言解决一下这个问题给一个不多于5 位的正整数
要求:
① 求出它是几位数;
② 分别输出每一位数字;
③ 按逆序输出各位数字

#include <stdio.h>
void func(unsigned n)
{
static t=0;
t++;
if(n<10)
printf("%d\n",t);

else
func(n/10);
printf("%d ",n%10);
}
int main(void) 
{
unsigned int n;
scanf("%lu",&n);
func(n);
printf("\n");
for(;n>10;n/=10)
printf("%d ",n%10);
printf("%d\n",n);
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-21
#include <stdio.h>
void main(){
int a,n,m=0,k=0;
scanf("%d",&n);
a=n;
while(n)
{m=m*10+n%10;k++;n/=10;}
printf("%d位数\n分别输出各位数字:",k);
while(m)
{printf("%d ",m%10);m/=10;}
printf("\n逆序输出各位数字:");
while(a)
{printf("%d ",a%10);a/=10;}
}

运行示例:

本回答被网友采纳
第2个回答  2018-04-21

#include<stdio.h>
int main()
{int x,i,n=0,x1,a[12];
 scanf("%d",&x);
 x1=x;
 for(n=0;x1;x1/=10)a[n++]=x1%10;
 printf("%d是%d位数\n",x,n);
 for(i=n-1;i>=0;i--)printf("%d ",a[i]);
 printf("\n逆序:\n");
 for(i=0;i<n;i++)
   printf("%d ",a[i]);
 printf("\n");
 return 0;
}

相似回答