学生记录由学号、姓名、成绩组成, 使用结构体数组,先输入下列学生数据,然后将下列学生的数据按成绩从高到低排序后显示到屏幕上。
时间: 2024-04-01 13:37:46 浏览: 66
这个问题和之前的问题非常相似,只不过这里需要先从键盘输入学生记录。下面是一个C语言程序,可以实现你所描述的功能:
```c
#include <stdio.h>
#include <string.h>
// 学生结构体
struct Student {
int id; // 学号
char name[20]; // 姓名
int score; // 成绩
};
int main() {
// 输入学生记录
struct Student stu[5];
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的学号、姓名、成绩:", i + 1);
scanf("%d %s %d", &stu[i].id, stu[i].name, &stu[i].score);
}
int n = sizeof(stu) / sizeof(stu[0]); // 计算学生记录数
// 对学生记录按成绩从高到低排序
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (stu[i].score < stu[j].score) {
// 交换两个学生记录
struct Student temp = stu[i];
stu[i] = stu[j];
stu[j] = temp;
}
}
}
// 输出排序后的学生记录
printf("学号\t姓名\t成绩\n");
for (int i = 0; i < n; i++) {
printf("%d\t%s\t%d\n", stu[i].id, stu[i].name, stu[i].score);
}
return 0;
}
```
程序首先定义了一个`Student`结构体,表示一个学生记录,包括学号、姓名和成绩。然后声明了一个包含五个学生记录的数组`stu`,并循环从键盘输入每个学生的学号、姓名和成绩。接着使用冒泡排序算法将学生记录按成绩从高到低排序。最后输出排序后的学生记录到屏幕上,格式为学号、姓名、成绩。
阅读全文
相关推荐


















