.有10个学生,每个学生的数据包括学号、姓名、1门课的成绩,从键盘输入10个学生数据,按照成绩从高到低的顺序输出每个学生的数据
时间: 2023-12-15 16:03:09 浏览: 87
您可以使用结构体来表示每个学生的数据,并使用冒泡排序法将学生数据按照成绩从高到低排序。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
struct student {
int id;
char name[20];
int score;
};
int main() {
struct student s[10];
int i, j;
struct student temp;
// 从键盘输入10个学生数据
for (i = 0; i < 10; i++) {
printf("请输入第 %d 个学生的学号、姓名、成绩:\n", i+1);
scanf("%d %s %d", &s[i].id, s[i].name, &s[i].score);
}
// 冒泡排序
for (i = 0; i < 9; i++) {
for (j = 0; j < 9-i; j++) {
if (s[j].score < s[j+1].score) {
temp = s[j];
s[j] = s[j+1];
s[j+1] = temp;
}
}
}
// 输出学生数据
printf("\n按照成绩从高到低的顺序输出每个学生的数据:\n");
for (i = 0; i < 10; i++) {
printf("%d %s %d\n", s[i].id, s[i].name, s[i].score);
}
return 0;
}
```
运行程序后,您可以依次输入每个学生的学号、姓名和成绩,然后程序会按照成绩从高到低的顺序输出每个学生的数据。
阅读全文