题目
【题目描述】
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第(k)名学生的学号和成绩。
【输入】
第一行有两个整数,分别是学生的人数(n)((1≤n≤100)),和求第k名学生的(k)((1≤k≤n))。
其后有(n)行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。【输出】
输出第(k)名学生的学号和成绩,中间用空格分隔。(注:请用%(g)输出成绩)
【输入样例】
5 3 90788001 67.8 90788002 90.3 90788003 61 90788004 68.4 90788005 73.9
【输出样例】
90788004 68.4
思路
简单的排序题
代码
#include<bits/stdc++.h>
using namespace std;
string x[102];double c[102];
int main()
{
int n,k;cin>>n>>k;
for(int i=1;i<=n;i++)cin>>x[i]>>c[i];
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(c[i]<c[j])
{
x[0]=x[i];x[i]=x[j];x[j]=x[0];
c[0]=c[i];c[i]=c[j];c[j]=c[0];
}
cout<<x[k]<<" ";
printf("%g",c[k]);
return 0;
}