学生结构体按成绩排序c++
时间: 2024-01-01 18:02:34 浏览: 121
最新c++-用结构体数组来创建学生成绩系统.pdf
要按照学生的成绩来排序,可以先定义一个学生的结构体,包含学生的姓名和成绩两个属性。然后创建一个学生数组,存储多个学生的信息。
```c
#include <stdio.h>
#define MAX_STUDENTS 5
typedef struct Student {
char name[20];
int score;
} Student;
int main() {
Student students[MAX_STUDENTS] = {
{"Tom", 85},
{"Jerry", 76},
{"Alice", 92},
{"Bob", 68},
{"Lisa", 80}
};
// 使用冒泡排序按照成绩排序学生
for (int i = 0; i < MAX_STUDENTS - 1; i++) {
for (int j = 0; j < MAX_STUDENTS - i - 1; j++) {
if (students[j].score > students[j+1].score) {
// 交换两个学生的位置
Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
// 打印排序后的学生信息
printf("按照成绩排序后的学生信息:\n");
for (int i = 0; i < MAX_STUDENTS; i++) {
printf("姓名:%s,成绩:%d\n", students[i].name, students[i].score);
}
return 0;
}
```
以上代码中,我们首先定义了一个`Student`结构体,包含学生的姓名和成绩属性。然后创建了一个学生数组`students`,用于存储五个学生的信息。我们使用冒泡排序的算法,按照成绩从低到高对学生进行排序。最后,通过遍历数组打印排序后的学生信息。
阅读全文