这是一个经典的例题,与比较两个数的大小的方式相同,建立一个中间变量,对数的大小进行排序。但不同的是,这个题在思路上较为复杂一点。
思路:我们规定好输出的顺序从小到大依次是a,b,c,建立一个中间变量t,像比较两个数的大小的方法那样,对大小顺序进行转换,把较小的值放在前面,把较大的值放在后面。
#include<stdio.h>
int main()
{
int a, b, c, t;
scanf("%d%d%d", &a, &b, &c);
if( a > b )
{
t = a;//a较大,把a放在后面,b放在前面,用t进行转换
a = b;
b = t;
}
if( a > c)
{
t = a;//a较大,把a放在后面,c放在前面,用t进行转换
a = c;
c = t;
}
if( b > c )
{
t = b;//b较大,把b放在后面,c放在前面,用t进行转换
b = c;
c = t;
}
printf("%d %d %d",a,b,c);
return 0;
}
如果( a <b )或( a < c)或( b < c )的话,就不用转换顺序,直接输出即可,所以也不用写else语句。这个题经典就在于思路,对于我这种初学者,题目见识少的人来说可能一开始无从下手,特此记录。