生成C语言代码,在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第K名学生的学号和成绩。学生人数为5人。输入格式: 输入考生的学号和成绩,学号整型,成绩小数类型 输入第K名 输出格式: 输出第K名的学生的学号和成绩,成绩保留两位小数。 输入样例: 在这里给出一组输入。例如: 1 90 2 80 3 70 4 60 5 50 3 输出样例: 在这里给出相应的输出。例如: 3 70.00
时间: 2024-03-14 22:48:37 浏览: 65
学生成绩管理系统C源代码
好的,这是一个简单的排序问题,我们可以使用冒泡排序来解决。以下是C语言代码实现:
```c
#include<stdio.h>
int main()
{
int id[5], k, i, j, temp_id;
float grade[5], temp_grade;
//输入学生的学号和成绩
for(i = 0; i < 5; i++)
{
scanf("%d%f", &id[i], &grade[i]);
}
//冒泡排序
for(i = 0; i < 4; i++)
{
for(j = 0; j < 4 - i; j++)
{
if(grade[j] < grade[j + 1])
{
//交换成绩
temp_grade = grade[j];
grade[j] = grade[j + 1];
grade[j + 1] = temp_grade;
//交换学号
temp_id = id[j];
id[j] = id[j + 1];
id[j + 1] = temp_id;
}
}
}
//输入K
scanf("%d", &k);
//输出第K名学生的学号和成绩
printf("%d %.2f", id[k-1], grade[k-1]);
return 0;
}
```
输入样例:
```
1 90
2 80
3 70
4 60
5 50
3
```
输出样例:
```
3 70.00
```
阅读全文