资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。
输入格式:输入只有一行,即三个整数,中间用空格隔开。
输出格式:输出只有一行,即排序后的结果。
输入输出样例
样例输入
9 2 30
样例输出
30 9 2
解题思路:
这又是一道送分题,但是解题的思路可以有多种,这里我就只介绍两种,一种是冒泡排序,一种是使用sort函数进行排序。所谓杀鸡焉用牛刀,使用冒泡排序有点笨重了,不清楚冒泡排序的朋友们,在这里我给大家简单介绍下,就是像水泡一样,每次循环都把最大的数顶上去,这个最大的数是指除了之前已经顶上去的最大的数之外的最大的数。代码如下:
冒泡排序:
#include<bits/stdc++.h>
using namespace std;
int main() {
int a[3];
int i, j;
for(i = 0; i < 3; i ++)
cin >> a[i];
for(i = 0; i < 2; i ++){
for (j = 0; j < 2 - i; j ++){
if (a[j] < a[j + 1]){
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (i = 0; i < 3; i ++){
cout << a[i] << " ";
}
return 0;
}
sort函数排序
#include<bits/stdc++.h>
using namespace std;
int main() {
int a[3];
int i, j;
for(i = 0; i < 3; i ++)
cin >> a[i];
sort(a,a + 3);
for (i = 2; i >= 0; i --){
cout << a[i] << " ";
}
return 0;
}