#include
void main()
{
int a,b,c,d,e;
unsigned int i;//定义i位无符号的整型变量
printf("please enter the number:\n");
scanf("%u",&i);
int m;
a=i/10000;
b=(i-a*10000)/1000;//求万位数
c=(i-a*10000-b*1000)/100;//求千位数
d=(i-a*10000-b*1000-c*100)/10;//求十位数
e=(i-a*10000-b*1000-c*100)%10;//求个位数
if(a!=0)
{
m=5;//5位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d,%d,%d,%d,%d\n",a,b,c,d,e);
printf("逆序输出各位数字:%d%d%d%d%d\n",e,d,c,b,a);
}
if(a==0&&b!=0)
{
m=4;//4位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d,%d,%d,%d\n",b,c,d,e);
printf("逆序输出各位数字:%d%d%d%d\n",e,d,c,b);
}
if(a==0&&b==0&&c!=0)
{
m=3;//3位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d,%d,%d\n",c,d,e);
printf("逆序输出各位数字:%d%d%d\n",e,d,c);
}
if(a==0&&b==0&&c==0&&d!=0)
{
m=2;//2位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d,%d\n",d,e);
printf("逆序输出各位数字:%d%d\n",e,d);
}
if(a==0&&b==0&&c==0&&d==0)
{
m=1;1位正整数
printf("%u是%d位数\n",i,m);
printf("每一位数字分别是:%d\n",e);
printf("逆序输出各位数字:%d\n",e);
}
else printf("error data\n");//不合法处理
}
最笨 最原始的方法