编写一个程序,从键盘输入一串字符,逆序输出,要求采用递归函数实现
编写一个程序,从键盘输入一串字符,逆序输出,要求采用递归函数实现
#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");还是不行,
请大家指点啊