题目描述
编程输入n(1≤n≤20)个小于1000非负整数,然后自动按从大到小的顺序输出。(冒泡排序)
输入
第一行,数的个数n;
第二行,n个非负整数。
输出
由大到小的n个非负整数,每个数占一行。
样例输入
5 2 5 8 6 12
样例输出
12 8 6 5 2
分析
这道题是一个数组题
方法1:
是数组的话我们就可以用sort排序解决
因为sort排序是从小到大排序的,所以我们要用reverse来颠倒一下
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,a[21];
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
reverse(a+1,a+1+n);
for(int i=1;i<=n;i++){
cout<<a[i]<<endl;
}
return 0;
}
方法2:
可以用打擂台的方法(我也不知道是不是)
代码如下: