C语言学生成绩管理系统加入链表
时间: 2024-04-29 20:16:33 浏览: 159
C语言学生成绩管理系统可以使用链表来实现,链表是一种常用的数据结构,可以动态地存储和管理数据。下面是一个简单的示例代码,演示了如何使用链表来管理学生成绩:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义学生结构体
typedef struct student {
int id;
char name[20];
float score;
struct student* next;
} Student;
// 创建学生节点
Student* createStudent(int id, char* name, float score) {
Student* newStudent = (Student*)malloc(sizeof(Student));
newStudent->id = id;
strcpy(newStudent->name, name);
newStudent->score = score;
newStudent->next = NULL;
return newStudent;
}
// 添加学生节点到链表尾部
void addStudent(Student** head, Student* newStudent) {
if (*head == NULL) {
*head = newStudent;
} else {
Student* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = newStudent;
}
}
// 打印链表中的学生信息
void printStudents(Student* head) {
Student* current = head;
while (current != NULL) {
printf("ID: %d, Name: %s, Score: %.2f\n", current->id, current->name, current->score);
current = current->next;
}
}
int main() {
Student* head = NULL;
// 添加学生节点
addStudent(&head, createStudent(1, "Alice", 85.5));
addStudent(&head, createStudent(2, "Bob", 92.0));
addStudent(&head, createStudent(3, "Charlie", 78.5));
// 打印学生信息
printStudents(head);
return 0;
}
```
这段代码实现了一个简单的学生成绩管理系统,使用链表来存储学生信息。你可以根据需要扩展该系统,添加更多功能,比如插入学生、删除学生、按照成绩排序等。
阅读全文