http://ac.jobdu.com/problem.php?pid=1431
题目描述:
给你n个整数,请按从大到小的顺序输出其中前m大的数。
ifstream cin("data.txt"); //可以直接从文件中读取测试用例,非常方便,需要有头文件<fstream>
用一次这个之后就不用手输入了,令文件输入符为cin,这样提交代码时只需要注释掉这一行其他就不用动了。get 新技能!
//题目1018:统计同成绩学生人数
#include<stdio.h>
#include<iostream>
#include <fstream>
#include<algorithm>
using namespace std;
bool cmp(int a, int b)
{
return a > b;
}
int main()
{
int n, m; //n为输入数字的个数,m为输出最大的m个数字
//ifstream cin("data.txt"); //可以直接从文件中读取,非常方便,需要有头文件<fstream>
while (cin >> n >> m)
{
//这里不做m>n的错误处理
int *arr = new int[n];
for (int i = 0; i < n; i++)
cin >> arr[i];
sort(arr, arr + n, cmp);
for (int i = 0; i < m - 1; i++)
cout << arr[i] << " ";
cout << arr[m - 1] << endl;
}
//system("pause");
return 0;
}