时间限制: 1Sec 内存限制: 128MB
**
题目描述 数据很多,但我们经常只取前几名,比如奥运只取前3名。现在我们有n个数据,请按从大到小的顺序,输出前10个名数据。
**
数据规模和约定
10< =n< =200,各个整数不超出整型范围
输入
两行。
第一行一个整数n,表示要对多少个数据
第二行有n个整数,中间用空格分隔。表示n个数据。
输出
一行,按从大到小排列的前10个数据,每个数据之间用一个空格隔开。
样例输入
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
样例输出
91 87 86 70 68 63 61 59 57 56
分析:直接用冒泡排序输出前十个数即可
#include<stdio.h>
int main()
{
int a[200]={0},i,n,j,t;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",a+i);
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}