1. 程式人生 > >三個數排序,只用if

三個數排序,只用if

#include <stdio.h>
int main()
{
int a,b,c,d,e,f,g;
scanf("%d %d %d",&a,&b,&c);
if(a>b&&a>c)d=a;
if(b>a&&b>c)d=b;
if(c>a&&c>b)d=c;
if(d>a&&d>b){e=a;f=b;}
if(d>a&&d>c){e=a;f=c;}
if(d>b&&d>c){e=b;f=c;}
if(e<f){g=e;e=f;f=g;}
printf("%d %d %d",d,e,f);
return 0;
 } 

朋友問的問題,只用if怎麼比較三個數,用迴圈很簡單,用if就麻煩了。
這是我經過多次邏輯錯誤後,改出來的完善程式碼,不知各位有更精簡的辦法嗎?