不用结构体编写一个学生成绩管理系统,应用于C-Free5
时间: 2023-07-18 12:06:10 浏览: 44
好的,以下是一个简单的学生成绩管理系统的代码,可以在C-Free5中运行:
```c
#include <stdio.h>
// 定义学生结构体
typedef struct student {
int id; // 学号
char name[20]; // 姓名
double score; // 成绩
} Student;
int main() {
int n; // 学生人数
printf("请输入学生人数:");
scanf("%d", &n);
// 动态分配内存
Student *students = (Student*)malloc(sizeof(Student) * n);
// 循环输入学生信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("成绩:");
scanf("%lf", &students[i].score);
}
// 输出学生信息
printf("学生信息如下:\n");
printf("学号\t姓名\t成绩\n");
for (int i = 0; i < n; i++) {
printf("%d\t%s\t%.2f\n", students[i].id, students[i].name, students[i].score);
}
// 释放内存
free(students);
return 0;
}
```
该程序采用了动态分配内存的方式来存储学生信息,可以根据输入的学生人数来动态分配内存,避免了固定数组大小的限制。同时,使用了结构体来封装学生信息,方便了对学生信息的处理和管理。