EE:谁考了第k名
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第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
1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 struct student 5 { 6 long int id; 7 double score; 8 }; 9 struct student a[101]; 10 bool cmp(student x, student y) 11 { 12 return x.score > y.score; 13 } 14 int main() 15 { 16 int n,k; 17 cin >> n >> k; 18 for (int i=0;i<n;++i) 19 { 20 cin >> a[i].id >> a[i].score; 21 } 22 sort(a, a + n, cmp); 23 cout << a[k-1].id << " " << a[k-1].score; 24 return 0; 25 }
道阻且长,行则将至

浙公网安备 33010602011771号