算法提高 前10名

来源:互联网 发布:今晨送货单打印软件 编辑:程序博客网 时间:2024/04/30 01:25
问题描述
  数据很多,但我们经常只取前几名,比如奥运只取前3名。现在我们有n个数据,请按从大到小的顺序,输出前10个名数据。
输入格式
  两行。
  第一行一个整数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
数据规模和约定
  10<=n<=200,各个整数不超出整型范围
#include<stdio.h>int main(){int n;scanf("%d",&n);int a[200],i,j,t;for(i=0;i<n;i++){scanf("%d",&a[i]);}for(i=0;i<n-1;i++){for(j=0;j<n-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]);}return 0;}

 

0 0