单链表表实现写学生信息管理系统C语言代码
时间: 2024-09-30 14:08:56 浏览: 64
在C语言中,单链表可以用来构建一个简单的学生信息管理系统。下面是一个基本的示例,我们将创建一个包含学生ID、姓名和成绩的节点结构,并使用单链表存储学生数据。这里我们假设每个学生只有一个成绩。
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
typedef struct {
int id;
char name[50];
float score;
struct Node* next; // 指向下一个节点的指针
} StudentNode;
// 创建新节点函数
StudentNode* createNode(int id, char* name, float score) {
StudentNode* newNode = (StudentNode*)malloc(sizeof(StudentNode));
if (newNode != NULL) {
newNode->id = id;
strncpy(newNode->name, name, sizeof(newNode->name) - 1);
newNode->score = score;
newNode->next = NULL;
}
return newNode;
}
// 添加学生到链表函数
void addStudent(StudentNode** head, int id, char* name, float score) {
StudentNode* newNode = createNode(id, name, score);
if (*head == NULL) { // 链表为空,直接添加
*head = newNode;
} else {
StudentNode* current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = newNode;
}
}
// 打印链表中所有学生信息
void printStudents(StudentNode* head) {
StudentNode* current = head;
while (current != NULL) {
printf("ID: %d, Name: %s, Score: %.2f\n", current->id, current->name, current->score);
current = current->next;
}
}
int main() {
StudentNode* head = NULL;
// 添加一些学生
addStudent(&head, 1001, "张三", 85.5);
addStudent(&head, 1002, "李四", 90.0);
addStudent(&head, 1003, "王五", 88.7);
// 打印所有学生信息
printf("Students in the system:\n");
printStudents(head);
return 0;
}
```
这个例子展示了如何创建一个简单的链表,用于存储学生信息并能添加和打印学生。
阅读全文
相关推荐














