解题思路:输入*判断*输出
注意事项:在修改m和m+1位置的时候要记得修改ID的顺序
参考代码:
#include<stdio.h>
typedef struct student{ //构成结构 包含学号字符串和浮点数成绩
char id[10];
float sorrc;
}stu;
stu a[100];//定义学生的范围
int main()
{
int N,K,i=0;
char ID[10];
float SORRC;
scanf("%d %d\n",&N,&K);
while(N>=1)
{
scanf("%s %f\n",&a[i].id,&a[i].sorrc);
i++;N--;
}
for(int k=1;k<i;k++)//比较的时候依次递减
{
for(int m=0;m<i-k;m++)//把每一个最小的放在数组尾列
{
if(a[m].sorrc<a[m+1].sorrc)//交换m和m+1前后的学号和分数
{
SORRC=a[m].sorrc;
a[m].sorrc=a[m+1].sorrc;
a[m+1].sorrc=SORRC;
strcpy(ID,a[m].id);
strcpy(a[m].id,a[m+1].id);
strcpy(a[m+1].id,ID);
}
}
}
printf("%s %g",a[K-1].id,a[K-1].sorrc);
return 0;
}
0.0分
5 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复