题目描述
给出三个整数 a,b,c(0 ≤ a,b,c ≤ 100),要求把这三位整数从小到大排序。
输入格式
输入三个整数 a,b,c,以空格隔开。
输出格式
输出一行,三个整数,表示从小到大排序后的结果。
输入输出样例
输入 #1
1 14 5
输出 #1
1 5 14
输入 #2
2 2 2
输出 #2
2 2 2
这道题有两种方法:
法1、输入a、b、c三个变量用if条件判断语句把每一种情况都判断出来。
法2、用排序算法将输入的长度为3的数组排序后输出。
法1代码如下:
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cin >> a >> b >> c;
if (a<b && b<c)
{
cout << a << b << c;
} else if (a<c && c<b)
{
cout << a << c << b;
} else if (b<a && a<c)
{
cout << b << a << c;
} else if (b<c && c<a)
{
cout << b << c << a;
} else if (c<a && a<b)
{
cout << c << a << b;
} else if (c<b && b<a)
{
cout << c << b << a;
} else if (a==b && b==c)
{
cout << a << b << c;
}
return 0;
}
但这种方法虽然可行,但是写起来很麻烦,请看法2:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int n=3,a[105];
for (int i=0; i<n; i++) {
cin >> a[i];
}
for (int j=0; j<n-1; j++) {
if (a[j]>a[j+1]) {
swap(a[j],a[j+1]);
}
}
for (int i=0; i<n; i++)
{
cout << a[i] << " ";
}
return 0;
}
这篇就这么多,感谢观看