这个程序是运算有问题吗?
从键盘输入一个四位整数,首先分离出该正整数中的每一位数字,并按逆序输出各位数字;然后用分离出的每位数字组成一个最大四位数和一个最小四位数,并显示输出。例如,若输入的四位正整数为3157,按逆序输出分离出的各位数字为7 5 1 3;组成的最大数为7531,最小数为1357。
#include"stdio.h"
void main()
{
int x,a,b,c,d,e,f,g,h,i,j,k,l,m,n;
printf("请输入一个四位整数:\n");
scanf("%d",&x);
{
a=x/1000;
b=(x%1000)/100;
c=((x%1000)%100)/10;
d=((x%1000)%100)%10;
}
if(a>b)
{
e=a;
f=b;
}
else
{
e=b;
f=a;
}
if(c>d)
{
g=c;
h=d;
}
else
{
g=d;
h=c;
}
if(e>g)
{
i=e;
j=g;
}
else
{
i=g;
j=e;
}
if(f>h)
{
k=f;
l=h;
}
else
{
k=h;
l=f;
}
m=i*1000+j*100+k*10+l;
n=l*1000+k*100+j*10+i;
printf("各位按逆顺序输出:%d,%d,%d,%d\n",d,c,b,a);
printf("4个数组成最大的四位数是:%d\n",m);
printf("4个数组成最小的四位数是:%d\n",n);
}