学生成绩管理系统-c语按照班级升序输出成绩
时间: 2023-12-23 09:03:29 浏览: 76
C语言课程设计_学生成绩管理系统
4星 · 用户满意度95%
要按照班级升序输出成绩,首先需要在学生信息结构体中加入班级信息:
```c
typedef struct student {
char name[20]; // 学生姓名
char id[10]; // 学号
char sex[5]; // 性别
int age; // 年龄
char birth[20]; // 出生日期
char phone[20]; // 联系方式
int class; // 班级
} Student;
```
然后,在读入学生成绩时,需要按照班级信息的大小进行排序。可以使用冒泡排序算法来实现:
```c
void sort(Student stu[], int n) {
int i, j;
Student temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (stu[j].class > stu[j + 1].class) {
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
}
```
最后,按照排好序的班级信息依次输出成绩即可:
```c
void output_score(Student stu[], Score score[], int n, int m) {
int i, j;
sort(stu, n);
printf("班级\t姓名\t学号\t成绩\n");
for (i = 0; i < n; i++) {
printf("%d\t%s\t%s\t", stu[i].class, stu[i].name, stu[i].id);
for (j = 0; j < m; j++) {
if (strcmp(score[j].sid, stu[i].id) == 0) {
printf("%.2lf\t", score[j].grade);
}
}
printf("\n");
}
}
```
这样就可以按照班级升序输出成绩了。
阅读全文