这个代码有啥问题?弄了一晚上,脑袋有点抽筋。
呵呵呵呵呵呵呵,我是新手,高手看了偷偷笑就行了。题目如下:
给一个不多于五位的正整数,要求:1,求出它是几位数。2,分别输出每一位数字。3,按逆序输出各位数字,例如原为234,后为432.
我的代码如下。
#include"stdio.h"
#include"stdlib.h"
int main()
{
int a,b,c,d,e;
long num;
scanf("%d",&num);
if(num/100000>1)
{
e=num%10;
d=((num%100)-e)/10;
c=((num%1000)-(d*10+e))/100;
b=((num%10000)-(c*100+d*10+e))/1000;
a=(num-(b *1000+c*100+d*10+e))/10000;
printf("have 6 numbers. it is %d%d%d%d%d.\n",a,b,c,d,e);
printf("%d%d%d%d%d",e,d,c,b,a);
}
else if(num/10000>1)
{
e=num%10;
d=((num%100)-e)/10;
c=((num%1000)-(d*10+e))/100;
b=((num%10000)-(c*100+d*10+e))/1000;
a=(num-(b *1000+c*100+d*10+e))/10000;
printf("have 5 numbers. it is %d%d%d%d%d.\n",b,c,d,e);
printf("%d%d%d%d",e,d,c,b);
}
else if(num/1000>1)
{
e=num%10;
d=((num%100)-e)/10;
c=((num%1000)-(d*10+e))/100;
b=(num-(c*100+d*10+e))/1000;
printf("have 4 numbers. it is %d%d%d%d%d.\n",c,d,e);
printf("%d%d%d%d",e,d,c);
}
else if(num/100>1)
{
e=num%10;
d=((num%100)-e)/10;
c=(num-(d*10+e))/100;
printf("have 3 numbers. it is %d%d%d%d%d.\n",c,d,e);
printf("%d%d%d%d",e,d,c);
}
else if(num/10>1)
{
e=num%10;
d=(num-e)/10;
printf("have 2 numbers. it is %d%d%d%d%d.\n",d,e);
printf("%d%d",e,d);
}
system("pause");
}