解题思路:输入*判断*输出
注意事项:在修改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分
7 人评分
不容易系列2 (C语言代码)浏览:1358 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:627 |
点我有惊喜!你懂得!浏览:4145 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:757 |
C二级辅导-等差数列 (C语言代码)浏览:628 |
2005年春浙江省计算机等级考试二级C 编程题(3),复杂度最低的方法没有之一!!!!!浏览:856 |
模拟计算器 (C语言代码)浏览:966 |
Biggest Number (C++代码)回溯法浏览:1676 |
简单的a+b (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:564 |