使用C语言设计一个结构体,用来保存以下数据,按照分数从大到小进行输出
时间: 2023-12-26 09:03:45 浏览: 25
好的,以下是一个示例程序:
```c
#include <stdio.h>
#define MAX_STUDENTS 100
struct student {
char name[20];
int score;
};
int main() {
struct student students[MAX_STUDENTS] = {
{"Alice", 90},
{"Bob", 80},
{"Charlie", 95},
{"David", 85},
{"Eve", 92},
{"Frank", 88},
{0} // 结束标记
};
// 冒泡排序
int i, j;
for (i = 0; students[i].name[0] != 0; i++) {
for (j = 0; students[j+1].name[0] != 0; j++) {
if (students[j].score < students[j+1].score) {
struct student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
// 输出结果
for (i = 0; students[i].name[0] != 0; i++) {
printf("%s: %d\n", students[i].name, students[i].score);
}
return 0;
}
```
这里定义了一个名为 `student` 的结构体,包含两个字段:`name` 和 `score`,分别表示学生姓名和分数。在 `main` 函数中定义了一个数组 `students`,用来保存多个学生的信息。
首先,使用冒泡排序算法将学生按照分数从大到小进行排序。
最后,遍历排序后的学生数组,输出每个学生的姓名和分数。