三个数排序,只用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就麻烦了。
这是我经过多次逻辑错误后,改出来的完善代码,不知各位有更精简的办法吗?

猜你喜欢

转载自blog.csdn.net/qq_39748223/article/details/84060614