用C写一个学生成绩管理系统
时间: 2023-12-08 22:05:20 浏览: 20
好的,下面是一个简单的学生成绩管理系统的C代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct student {
char name[50];
int id;
float score;
};
int main() {
int n; // 学生数量
printf("请输入学生数量:");
scanf("%d", &n);
struct student *students = (struct student *)malloc(n * sizeof(struct student)); // 动态分配内存
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名、学号和成绩:", i + 1);
scanf("%s %d %f", students[i].name, &students[i].id, &students[i].score);
}
// 输出所有学生的信息
printf("所有学生的信息如下:\n");
printf("姓名\t学号\t成绩\n");
for (int i = 0; i < n; i++) {
printf("%s\t%d\t%.2f\n", students[i].name, students[i].id, students[i].score);
}
// 查找最高分学生
int max_index = 0;
for (int i = 1; i < n; i++) {
if (students[i].score > students[max_index].score) {
max_index = i;
}
}
printf("最高分学生是%s,学号是%d,成绩是%.2f\n", students[max_index].name, students[max_index].id, students[max_index].score);
free(students); // 释放内存
return 0;
}
```
这个程序可以让用户输入学生的姓名、学号和成绩,然后输出所有学生的信息和最高分学生的信息。需要注意的是,为了避免内存泄漏,我们在程序结束时需要释放动态分配的内存。