题目名称:谁考了第k名(1115)
题目要求:在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)
#include <stdio.h>
struct skldkm{
int xh;
float cj;
};
int main(){
int m,n,k,i;
scanf("%d%d",&n,&k);
m=1;
struct skldkm jgt[100],t[100];
for(i=0;i<n;i++){
scanf("%d%g",&jgt[i].xh,&jgt[i].cj);
}
for(m=1;m<=n;m++){
for(i=1;i<=n;i++){
if(jgt[i].cj<jgt[i+1].cj){
t[i]=jgt[i];
jgt[i]=jgt[i+1];
jgt[i+1]=t[i];
}
}
}
printf("%d %g",jgt[k].xh ,jgt[k].cj );
return 0;
}