程序没有错误。但是格式又一点问题。在每else if和else语句加上{}。
修改后:
#include
void main()
{
int a,b,c,d,e,x,m;
printf("请输入一个五位以内的正整数:\n");
scanf("%d",&x);
e=x/10000;
d=x%10000/1000;
c=x%1000/100;
b=x%100/10;
a=x%10;
if(x>99999||x
printf("ERROR!\n");
else if(x>9999){
m=5;
printf("数字为%d位数,逆序为%d%d%d%d%d\n",m,a,b,c,d,e);}
else if(x>999){
m=4;
printf("数字为%d位数,逆序为%d%d%d%d\n",m,a,b,c,d);}
else if(x>99){
m=3;
printf("数字为%d位数,逆序为%d%d%d\n",m,a,b,c);}
else if(x>9){
m=2;
printf("数字为%d位数,逆序为%d%d\n",m,a,b);}
else {
m=1;
printf("数字为%d位数,逆序为%d\n",m,a);}
}