A36089. 谁考了第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<stdio.h>
int main(void) {
int n,k;
scanf("%d%d",&n,&k);
double xuehao[n];
double cj[n];
int i;
printf("\n");
for (i=0;i<n;i++) {
scanf("%lf",&xuehao[i]);
printf(" ");
scanf("%lf",&cj[i]);
printf("\n");
}
//冒泡
double temp1,temp2;
int j;
for (j=1;j<n;j++) {
for (i=0;i<n-j;i++) {
if(cj[i]<cj[i+1]) //把最大的放在后面,是小于,不是大于 {
temp1=cj[i+1];
cj[i+1]=cj[i];
cj[i]=temp1;
temp2=xuehao[i+1];
xuehao[i+1]=xuehao[i];
xuehao[i]=temp2;
}
}
}
//printf("%.0f %.1f",xuehao[k],cj[k]); 不能是k,c语言数组的语法
printf("%.0f %.1f",xuehao[k-1],cj[k-1]);
return 0;
}
上一题
下一题