if判断a.b.c大小,如果用一个a>b再else否定会导致出现两个不同的结果,解决办法为两次if判断将变化限制a>b同时c>b,再讨论ac,即寻找出最大或最小值
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a>=b){if(c>=b){if(a>c){printf("%d %d %d",a,c,b);\\三个判断层次
}else {printf("%d %d %d",c,a,b);\\否定最小一级
}
}else {printf("%d %d %d",a,b,c);\\否定第二级 ,此一级只有一种可能
}
}else {if(a>c){printf("%d %d %d",b,a,c);\\ 反之,为了练习,可以将只有一种可能的二级判断放在前面 。此处为否定判断一级
}else {if(b>c){printf("%d %d %d",b,c,a);\\二级否定,两种可能的三级
}else {printf("%d %d %d",c,b,a);\\第二三级
}
}}
return 0;
}