用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); }