解题思路:据题目要求,按从小到大排序,那么就需要得到最大值,最小值以及中间值才能排序。也就是说要让电脑知道,什么是最大,什么是最小然后再来排序。
大小的比较有做差法(a-b>0),做商法(a\b>1)等等……
首先我们先做简单的,求最大值和最小值。
做题做的多的可能立马就把 min=(a
但是我注意到一点,就是中间的值较为难求,这也是这里最难的地方(大概?)
一共就3个数字,我们要就事论事,既然最大值和最小值都十分的好求,那么为什么不能利用(中间值)=a+b+c-最大值-最小值 来求出中间值呢?这样不香吗?
注意事项:不要把;和:混淆了,不然很难看出什么地方错误了。
参考代码:
#include
int main()
{
int a,b,c,x1,x2,x3;
scanf("%d%d%d",&a,&b,&c);
x1=(a
x3=(a>b?a:b)>c?(a>b?a:b):c;
x2=a+b+c-x1-x3;
printf("%d %d %d",x1,x2,x3);
}