#include "stdio.h"
main()
{ int a,b,c,d,e,t;
long n;
printf("input 5weishu:\n");
scanf("%ld",&n);
if (n<10)
t=1;
else
if (n<100)
t=2;
else
if (n<1000)
t=3;
else
if (n<10000)
t=4;
else
t=5;
switch
(t)
{
case
1:printf("%d",n);
break;
case
2:a=n%10;
b=n/10;
printf("%d",a*10+b);break;
case
3:a=n%10;
b=n/10%10;
c=n/100;
printf("%d",a*100+b*10+c);break;
case
4: a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000;
printf("%d",a*1000+b*100+c*10+d);break;
case
5:
a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000%10;
e=n/10000;
printf("%d",a*10000+b*1000+c*100+d*10+e);break;
}
}
哪位大侠帮我看看这个逆序输出不大于5位数的程序
为什么输入长整型数据,就会出错?
应该怎么改啊,即使我把CASE 5里的输出类型改为printf("%ld");还是不行,
请大家指点啊