zcmu.oj-1566:sort

Description

给你n个整数,请按从大到小的顺序输出其中前m大的数

Input

每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。

Output

对每组测试数据按从大到小的顺序输出前m大的数。

Sample Input

5 33 -35 92 213 -644

Sample Output

213 92 3



分析:

        这道题用到sort降序排序 将排序结果输出前m位。


代码:


#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
    int n,m,i,j;
    while(~scanf("%d%d",&n,&m))
    {
        int a[n];
        for( i=0; i<n; i++)
        {
            scanf("%d",&a[i]);
        }
            sort(a,a+n);
            for( i=n-1; i>n-m; i--) //降序排序 这里注意i的两端 n-m < i <n-1  输出前m项; 
            {
                printf("%d ",a[i]);
            }
            printf("%d\n",a[i]);
    }

     return 0;
}


猜你喜欢

转载自blog.csdn.net/kyrieee/article/details/80007573