求助一个C语言程序问题
这个程序有错,输入一些五位数进去,输出是错误的,例如:98765,输出是:9,74,658,6557,336557658749
还望高手指正,另外,在这个程序里怎么加入clrscr();语句呢?我试图在定义数据之后的语句里加,程序运行出错了,不知道为什么~~~麻烦解释下哈,先谢过~~~
题目是:一个不高于五位数,输出它的各位的数,输出它的逆序数,以及它的位数。
#include<stdio.h>
void main()
{
long x;
int a,b,c,d,e,f,n=5;
printf("\n");
scanf("%ld",&x);
a=x/10000;
b=(x-a*10000)/1000;
c=(x-a*10000-b*1000)/100;
d=(x-a*10000-b*1000-c*100)/10;
e=x-a*10000-b*1000-c*100-d*10;
if(a) printf("%d,%d,%d,%d,%d\n%d%d%d%d%d\n",a,b,c,d,e,e,d,c,b,a);
else if(b) {n-=1;printf("%d,%d,%d,%d\n%d%d%d%d\n",b,c,d,e,e,d,c,b);}
else if(c) {n-=2;printf("%d,%d,%d\n%d%d%d\n",c,d,e,e,d,c);}
else if(d) {n-=3;printf("%d,%d\n%d%d\n",d,e,e,d); }
else {n-=4;printf("%d\n%d\n",e,e); }
printf("This data is %d bit.\n",n);
}