谁考了第k名
用的是类保存数据
#include <iostream>
#include <cstdio>
using namespace std;
class Q
{
public:
long order;
double grade;
};
int main()
{
Q arr[100];
Q tmp;
int m , k;
cin >> m >>k;
for(int i = 0 ; i<m;i++)
{
cin>>tmp.order>> tmp.grade;
arr[i]=tmp;
}
int min;
for(int i=0;i<m;i++)
{
min = i;
for(int j = i; j<m;j++)
{
if(arr[j].grade > arr[min].grade)
{
min = j;
}
}
tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
for(int i = 0 ; i< m ;i++)
{
if(i+1==k)
{
printf("%ld %g",arr[i].order,arr[i].grade);
// cout<<arr[i].order<<" " << arr[i].grade<< endl;
return 0;
}
}
return 0;
}
排序方法 : 选择排序 ,然后是从大到小排序