描述
在一次考试中,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。学生总数不超过200名。若成绩相同,按照录入顺序排名。
格式
输入格式
其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出格式
输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)
样例
输入样例
5 3
90788001 67.8
90788002 90.3
90788003 61
90788004 68.4
90788005 73.9
输出样例
90788004 68.4
代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[200]; //存储学号
double b[200]; //存储成绩
int n1,n2;
cin>>n1>>n2;
for(int i=0;i<n1;i++){
scanf("%d",&a[i]); //分别赋值
scanf("%lf",&b[i]);
}
for(int i=0;i<n1-1;i++)
{
for(int j=i+1;j<n1;j++)
if(b[i]<b[j])
{
swap(b[i],b[j]); //一起交换
swap(a[i],a[j]);
}
}
for(int i=0;i<n1;i++)
{
if(i==n2-1)
{
printf("%d ",a[i]);
printf("%g",b[i]);
}
}
return 0;
}