用C语言编写四个数求排序,用if编的逻辑现在真晕了
用scanf输入a.b.c.d.四个数字,然后按从大到小排序,我用if编到一半就逻辑彻底乱了,求高手指点下,拜谢!
程序代码:#include<stdio.h>
void main()
{
int a,b,c,d,t; /*定义四个数abcd为整型,t为交换时要用的变量*/
printf("请输入四个数:");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a<b) /*下面三个if语句把最大的数放到a里面*/
{
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) /*下面两个if语句是把第二大的数放到b里面*/
{
t=b;b=c;c=t;
}
if(b<d)
{
t=b;b=d;d=t;
}
if(c<d) /*这个if语句是把第三大的数放到c里面,最小的数放到d里面*/
{
t=c;c=d;d=t;
}
printf("四个数从大到小依次为:\n%5d%5d%5d%5d\n",a,b,c,d);
}
