学生表:单链表实现
/* *********************************
定义一个包含学生信息(学号,姓名,成绩)的单链表,使其具有如下功能:
(1) 根据指定学生个数,逐个输入学生信息;
(2) 逐个显示学生表中所有学生的相关信息;
(3) 根据姓名进行查找,返回此学生的学号和成绩;
(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);
(5) 给定一个学生信息,插入到表中指定的位置;
(6) 删除指定位置的学生记录;
(7) 统计表中学生个数。
**********************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ERROR 0
#define OK 1
//定义一个学生类型
typedef struct student {
char no[10]; //学号
char name[20]; //姓名
int score; //分数
} STU;
//定义一个学生信息的链表结点
typedef struct snode {
STU data; //存储学生信息
struct snode *next; //存储后继学生的信息
} Snode;
//初始化链表
Snode *init() {
Snode *h; //头结点
h = (Snode *)malloc(sizeof(Snode)); //分配一个空间
h->next = NULL;
return h;
}
//菜单界面
int meau(int num);
//输入、创建链表(尾插法)
void prin(Snode *s);
//输出函数
void output(Snode *s);
//按姓名查找
void Locate(Snode *s);
//按序号查找
void Sear