关于每位数的问题
给一个不多于五位的正整数~要求
1。它是几位数
2.分别打出每一个数
3.倒序打出每一个数~
现在问题一已解决
问题二和三不知为什么最后结果总是一个很大的数
printf ("测试%ld\n%ld\n%ld\n%ld\n%ld\%ld\n",a,b,c,d,e);
是我测试值用的~按说a,b,c,d,e都是一位数的
可结果却都是一个很大的数~
哪点错了?
求解~
谢谢~~
程序代码:
/* Note:Your choice is C IDE */ #include "stdio.h" void main() { long x; int a,b,c,d,e; scanf ("%ld",&x); if (x>9999) printf("它是五位数"); else if (x>999) printf("它是4位数"); else if (x>99) printf("它是3位数"); else if (x>9) printf("它是2位数"); else printf("它是一位数"); a=x/10000; b=(int)(x-a*10000)/1000; c=(int)(x-a*10000-b*1000)/100; d=(int)(x-a*10000-b*1000-c*100)/10; e=(int)(x-a*10000-b*1000-c*100-d*10); printf ("测试%ld\n%ld\n%ld\n%ld\n%ld\%ld\n",a,b,c,d,e); printf ("正%d%d%d%d%d%d",a,b,c,d,e); printf("倒%d%d%d%d%d",e,d,c,b,a);