1. 程式人生 > 實用技巧 >誰考了第k名

誰考了第k名

題目

【題目描述】

在一次考試中,每個學生的成績都不相同,現知道了每個學生的學號和成績,求考第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;
}