Description
数据很多,但我们经常只取前几名,比如奥运只取前3名。现在我们有n个数据,请按从大到小的顺序,输出前10个名数据。
Input
两行。
第一行一个整数n,表示要对多少个数据
第二行有n个整数,中间用空格分隔。表示n个数据。
Output
一行,按从大到小排列的前10个数据,每个数据之间用一个空格隔开。
Sample Input 1
26 54 27 87 16 63 40 40 22 61 6 57 70 0 42 11 50 13 5 56 7 8 86 56 91 68 59
Sample Output 1
91 87 86 70 68 63 61 59 57 56
Hint
HINT:时间限制:1.0s 内存限制:256.0MB
10<=n<=200,各个整数不超出整型范围
问题分析:输入n个数据,把n个数据由大到小排序,输出前十个数据
代码如下:
#include<bits/stdc++.h>
using namespace std;
int cmp(int x,int y)
{
return x>y;
}
int main()
{
int n,i;
int a[200];
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n,cmp);
for(i=0;i<9;i++)
{
cout<<a[i]<<" "; //注意两个数之间的空格,最后一个数后面没有空格
}
if(i==9)cout<<a[i]<<endl;
}