有3个数据a,b,c,它们由键盘输入,编写程序将它们从小到大排序
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>=b&&a>=c)
{
if(b<=c) swap(b,c);
}
else if(b>=a&&b>=c)
{
swap(a,b);
if(b<=c) swap(b,c);
}
else if(c>=a&&c>=b)
{
swap(a,c);
if(b<=c) swap(b,c);
}
printf("%d %d %d",c,b,a);
return 0;
}
思路:分析三种情况:
- a存的数最大,比较b,c;若c存的数最小,直接输出;若b存的数最小,交换b,c;
- b存的数最大,交换a,b;后续比较b,c,同上;
- c存的数最大,交换a,c;后续比较b,c,同上;
最后统一输出c,b,a;