原来是else那里少了括号,还有scanf那里多了个%d...................改正如下:
#include<stdio.h>
main()
{
int a,b,c,d,e;
printf("please enter a,b,c,d :\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
if (a<b)
a=a;
else
{e=a;
a=b;
b=e;}
if (a<c)
a=a;
else
{e=a;
a=c;
c=e;}
if (a<d)
a=a;
else
{e=a;
a=d;
d=e;}
if (b<c)
b=b;
else
{e=b;
b=c;
c=e;}
if (b<d)
b=b;
else{
e=b;
b=d;
d=e;}
if (c<d)
c=c;
else{
e=c;
c=d;
d=e;}
printf ("%d%d%d%d",a,b,c,d);
}
这样改的话其实更简单一些(a=a,b=b,c=c,d=d这些完全是没有必要的,加了会迷惑人而已)
#include<stdio.h>
int main()
{
int a,b,c,d,e;
printf("please enter a,b,c,d :\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b)
{
e=a;
a=b;
b=e;
}
if(a>c)
{
e=a;
a=c;
c=e;
}
if(a>d)
{
e=a;
a=d;
d=e;}
if(b>c)
{
e=b;
b=c;
c=e;
}
if(b>d)
{
e=b;
b=d;
d=e;
}
if (c>d)
{
e=c;
c=d;
d=e;
}
printf ("%d%d%d%d",a,b,c,d);
}
这样易理解一些:
#include<stdio.h>
int main()//这里你要修改一下,因为我用的是c-free,得用int main(),你可以改回void main()
{
int a,b,c,d,max,i,j;
printf("请输入a,b,c,d:\n");
scanf("%d%d%d%d",&a,&b,&c,&d);
char m[4];
m[0]=a;
m[1]=b;
m[2]=c;
m[3]=d;
for(j=0;j<=3;j++)
{
for(i=0;i<=2;i++)
{
if(m[i]>m[i+1])
{
max=m[i];
m[i]=m[i+1];
m[i+1]=max;
}
}
}
for(i=0;i<=3;i++)
{
printf("%d\n",m[i]);
}
}
温馨提示:答案为网友推荐,仅供参考