C语言利用数组按降序输出学生姓名学号成绩
时间: 2023-08-02 17:05:02 浏览: 104
012 C语言用一维数组统计学生成绩
假设有一个结构体类型定义如下:
```c
typedef struct {
char name[20];
int id;
int score;
} student;
```
可以定义一个数组来存储学生的信息:
```c
student students[] = {
{"张三", 1001, 80},
{"李四", 1002, 90},
{"王五", 1003, 85},
// ...
};
int n = sizeof(students) / sizeof(student);
```
可以使用冒泡排序来按照成绩降序排序,代码如下:
```c
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (students[j].score < students[j + 1].score) {
student temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
```
最后可以按照顺序输出学生的姓名、学号和成绩:
```c
for (int i = 0; i < n; i++) {
printf("%s %d %d\n", students[i].name, students[i].id, students[i].score);
}
```
阅读全文