C语言。输入四个变量,从大到小排序并输出。求大神解救啊~急急急~

我还没有学组数昂~TAT

#include<stdio.h>

int main()

{int a,b,c,d,t;

 printf("please enter 4 integer numbers:\n");

 scanf("%d%d%d%d",&a,&b,&c,&d);

 

 if(a<b) {t=a;a=b;b=t;};

 if(a<c) {t=a;a=c;c=t;};

 if(a<d) {t=a;a=d;d=t;};

 if(b<c) {t=b;b=c;c=t;};

 if(b<d) {t=d;d=b;b=t;};

 if(c<d) {t=c;c=d;d=t;};

 

 printf("这四个数从大到小排序为:%d %d %d %d\n",a,b,c,d);

 return 0;

}

 

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-12
不用数组,就没法循环操作了,导致程序会较大
#include <stdio.h>
int main()
{
int a,b,c,d ;

printf("input a b:");
scanf("%d%d",&a,&b);
if ( a<b )
{
int temp=a;
a=b;
b=temp; //a b交换
}
printf("input c:");
scanf("%d",&c);
if ( c > a )
{
int temp=a;
a=c;
c=temp; //a c交换
}
if ( c > b )
{
int temp=b;
b=c;
c=temp; //b c交换
}
printf("input d:");
scanf("%d",&d);
if ( d > a )
{
int temp=a;
a=d;
d=temp; //a d交换
}
if ( d > b )
{
int temp=b;
b=d;
d=temp; //b d交换
}
if ( d > c )
{
int temp=c;
c=d;
d=temp; //c d交换
}
printf("从大到小排序:%d %d %d %d\n" , a,b,c,d );
return 0;
}
第2个回答  2013-03-12
#include<stdio.h>
int main()
{
int a,b,c,d,t;
scanf(“%d%d%d%d”,&a,&b,&c,&d);
if(a<b)
{
t=a;a=b;b=t;
}
if(a<c)
{
t=a;a=c;c=t;
}
if(a<d)
{
t=a;a=d;d=t;
}
if(b<c)
{
t=b;b=c;c=t;
}
if(b<d)
{
t=b;b=d;d=t;
}
if(c<d)
{
t=c;c=d;d=t;
}
printf(“%d %d %d %d”,a,b,c,d);
return 0;
}
第3个回答  2013-03-12
四个变量……同学……你上小学之前就会做这个了吧?虽然当时不是用计算机编程实现,但是怎么比较四个数……
比较两个数字,会吧?
两个数字会比较了,三个数字怎么比较?
三个数字会比较了,那四个数字不会比吗?
我承认我很水,但是如果哪个大神觉得做这种题很荣幸,我一定佩服得五体投地……

刚才在回答另一道题去了,来晚了……