1. 程式人生 > >演算法提高 前10名

演算法提高 前10名

問題描述

  資料很多,但我們經常只取前幾名,比如奧運只取前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<algorithm>
#include<iostream>
using namespace std;

int main ()
{
    int n, cnt=0;
    cin >>  n;

    int a[n+5];
    
    for(int i=0; i<n; i++)
    {
        cin >> a[i];
    }
    
    sort(a, a+n);
    
    for(int i=n-1; ; i--)
    {
        cout << a[i] << " ";
        cnt++;
        if(cnt == 10)
            break;
    }
    cout << endl;
    
    return 0;
}