用c语言写数据结构考试报名管理系统
时间: 2023-08-10 08:54:27 浏览: 160
好的,我可以帮助你用C语言编写一个简单的数据结构考试报名管理系统。首先,我们需要定义一个结构体来存储考生的信息,包括姓名、学号和考试成绩。然后,我们可以使用链表来管理考生信息。
下面是一个简单的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义考生信息结构体
typedef struct Student {
char name[50];
int studentID;
int score;
struct Student* next;
} Student;
// 添加考生信息到链表
void addStudent(Student** head, char name[], int studentID, int score) {
// 创建新的考生节点
Student* newStudent = (Student*)malloc(sizeof(Student));
strcpy(newStudent->name, name);
newStudent->studentID = studentID;
newStudent->score = score;
newStudent->next = NULL;
if (*head == NULL) {
// 链表为空,将新节点设为头节点
*head = newStudent;
} else {
// 遍历链表找到最后一个节点
Student* current = *head;
while (current->next != NULL) {
current = current->next;
}
// 将新节点添加到最后
current->next = newStudent;
}
}
// 打印所有考生信息
void printStudents(Student* head) {
if (head == NULL) {
printf("没有考生信息\n");
return;
}
printf("考生信息:\n");
Student* current = head;
while (current != NULL) {
printf("姓名:%s\n", current->name);
printf("学号:%d\n", current->studentID);
printf("成绩:%d\n", current->score);
printf("\n");
current = current->next;
}
}
int main() {
Student* head = NULL; // 头节点指针
// 添加几个考生信息用于测试
addStudent(&head, "张三", 1001, 80);
addStudent(&head, "李四", 1002, 90);
addStudent(&head, "王五", 1003, 85);
// 打印所有考生信息
printStudents(head);
// 释放链表内存
Student* current = head;
while (current != NULL) {
Student* temp = current;
current = current->next;
free(temp);
}
return 0;
}
```
以上代码实现了一个简单的考生信息管理系统,可以添加考生信息并打印出所有考生的信息。
请注意,这只是一个简单的示例代码,还可以根据实际需求进行扩展和优化。希望对你有帮助!如果你有任何其他问题,请随时提问。
阅读全文