C语言学生成绩管理系统不使用链表
时间: 2024-11-27 22:13:49 浏览: 0
学生成绩管理系统(C语言程序设计)
5星 · 资源好评率100%
在C语言中设计一个学生成绩管理系统而不使用链表,通常会选择数组或动态内存分配(如结构体数组或动态创建的`struct`)来存储学生信息。这里是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义学生结构体
typedef struct {
char name[50];
int id;
float score;
} Student;
// 学生管理函数
void addStudent(Student* students, int size, char* name, int id, float score) {
if (size == 0) {
students = (Student*)malloc(sizeof(Student));
} else {
students = (Student*)realloc(students, (size + 1) * sizeof(Student));
}
students[size].name = name;
students[size].id = id;
students[size].score = score;
}
void displayStudents(Student* students, int size) {
for (int i = 0; i < size; i++) {
printf("ID: %d, Name: %s, Score: %.2f\n", students[i].id, students[i].name, students[i].score);
}
}
int main() {
const int MAX_STUDENTS = 100;
Student students[MAX_STUDENTS];
int num_students = 0;
// 添加学生操作
addStudent(students, num_students, "张三", 1001, 90.5);
addStudent(students, num_students, "李四", 1002, 85.0);
// 显示所有学生
displayStudents(students, num_students);
return 0;
}
```
在这个示例中,我们使用数组直接存储学生信息,通过`addStudent`函数增加学生的数量,`displayStudents`函数用于显示学生信息。虽然这不是典型的链表实现,但它展示了如何在C语言中不依赖链表数据结构完成基本的学生管理。
阅读全文