描述
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第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<stdio.h>
int main()
{
int a,i,j,n,k,t;
double temp,b;
double score[256];
int id[256];
scanf("%d %d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d %lf",&a,&b);
id[i]=a;
score[i]=b;
}
for(i=1;i<=n-1;i++)
{
for(j=i+1;j<=n;j++)
if(score[j]<score[i])
{
temp=score[i];
score[i]=score[j];
score[j]=temp;
t=id[i];
id[i]=id[j];
id[j]=t;
}
}
printf("%d %g",id[k],score[k]);
return 0;
}
http://noi.openjudge.cn/ch0110/01/ 原题地址
我这道题测试了一下没错,但是oj只给了2分,希望大神帮我改到满分