返回信息流为什么这个程序运行小数可以,大数就会出现错误。谢谢了。
这是一条镜像帖。来源:北邮人论坛 / cpp / #44292同步于 2010/9/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求高手看C程序
z1988
2010/9/27镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
#include<stdio.h>
#include<math.h>
main()
{ long int num,i;
int a,b,c,d,e;
printf("please enter the num:\n");
scanf("%ld\n",&num);
a=num/10000;
b=(num-a*10000)/1000;
c=(num-a*10000-b*1000)/100;
d=(num-a*10000-b*1000-c*100)/10;
e=num-a*10000-b*1000-c*100-d*10;
if(num/10000>9) printf("error!\n");
else if(num/10000!=0)
{
printf("num have 5 numbers\n");
printf("%d,%d,%d,%d,%d\n",a,b,c,d,e);
printf("%ld\n",i=e*10000+d*1000+c*100+b*10+a);
}
else if(num/1000!=0)
{
printf("num have 4 numbers\n");
printf("%d,%d,%d,%d\n",b,c,d,e);
printf("%d\n",e*1000+d*100+c*10+b);
}
else if(num/100!=0)
{
printf("num have 3 numbers\n");
printf("%d,%d,%d\n",c,d,e);
printf("%d\n",e*100+d*10+c);
}
else if(num/10!=0)
{
printf("num have 2 numbers\n");
printf("%d,%d\n",d,e);
printf("%d\n",e*10+d);
}
else
{
printf("num have 1 numbers\n");
printf("%d\n",e);
printf("%d\n",e);
}
}
多大的数?怎么错了?
ps:scanf里把\n弄到引号外面去
【 在 z1988 的大作中提到: 】
: #include<stdio.h>
: #include<math.h>
: main()
: ...................