用c语言实现.有10个学生,每个学生的数据包括学号、姓名、1门课的成绩,从键盘输入10个学生数据,按照成绩从高到低的顺序输出每个学生的数据
时间: 2023-12-15 17:22:05 浏览: 83
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
struct student {
int id;
char name[20];
int score;
};
void sort(struct student arr[], int n) {
int i, j;
struct student temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j].score < arr[j + 1].score) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int i;
struct student arr[10];
printf("请输入10个学生数据:\n");
for (i = 0; i < 10; i++) {
printf("请输入学生%d的学号、姓名、成绩:", i + 1);
scanf("%d %s %d", &arr[i].id, arr[i].name, &arr[i].score);
}
sort(arr, 10);
printf("按照成绩从高到低的顺序输出每个学生的数据:\n");
for (i = 0; i < 10; i++) {
printf("学号:%d,姓名:%s,成绩:%d\n", arr[i].id, arr[i].name, arr[i].score);
}
return 0;
}
```
代码说明:
1. 定义了一个结构体 `student`,包括学号、姓名和成绩。
2. 定义了一个排序函数 `sort`,用冒泡排序的方法将学生按照成绩从高到低排序。
3. 在 `main` 函数中,首先读入10个学生的数据,然后调用 `sort` 函数对学生进行排序,最后按照成绩从高到低的顺序输出每个学生的数据。
阅读全文