C语言实现的成绩记录簿程序

需积分: 12 11 下载量 25 浏览量 更新于2024-09-09 2 收藏 7KB TXT 举报
"这是一个使用C语言编写的简单成绩记录簿程序,通过结构体数组来存储学生的信息,包括学号(id),姓名(name)和成绩(score)。程序提供了添加(add)和搜索(search)功能,允许用户按学号或姓名查找学生信息。" 在C语言中,结构体是一种自定义数据类型,可以用来组合多种不同类型的变量。在这个成绩记录簿程序中,`struct student` 定义了一个结构体,包含了学号(id),姓名(name),成绩(score)以及指向下一个学生结构体的指针(next)。`typedef struct student Stu;` 是创建一个别名,使得我们可以用 `Stu` 类型来代替 `struct student`,使得代码更加简洁。 `Stu *s = 0;` 初始化了一个指向 `Stu` 类型的指针,用于链表的头部。`int n = 0;` 记录已添加的学生数量。 `void add()` 函数实现了添加学生信息的功能。如果链表为空(即`s == 0`),则分配内存并初始化第一个节点。否则,遍历链表直到找到最后一个节点,并在其后添加新节点。这个函数使用了`scanf`函数从用户输入中获取学号、姓名和成绩,并显示确认信息。 `void search()` 函数实现了搜索学生信息的功能。首先检查链表是否为空,如果为空则提示。然后提供两种搜索方式:按学号或姓名。根据用户的选择,遍历链表进行匹配。若找到匹配的学生信息,则显示出来;否则,提示未找到信息。 该程序使用链表作为数据结构,具有动态扩展的能力,可以根据需要添加任意数量的学生信息。链表结构通过指针链接各个节点,方便插入和查找操作。虽然这个程序比较基础,但它展示了如何在C语言中处理结构体和链表,以及如何从用户那里获取输入,是学习数据结构和C语言编程的好例子。