创建一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。
1.声明结构体类型
结构体类型struct Student,包含成员学生学号(整型)、学生姓名(字符数组)、性别(字符型)、年龄(整型),next结构体指针。声明全局变量n,用于统计链表结点个数。
struct Student//声明一个全局的结构体类型
{
int num;//学号
char name[20];//姓名
char sex;//性别
int age;//年龄
struct Student *next;//用于指向下一个结点
};
int n;//全局变量n,用于统计结点数量
2.创建链表
定义相关结构体指针变量
struct Student *head,*p1,*p2;//定义结构体指针p1、p2、head
在循环体中用malloc(函数)开辟大小为sizeof(struct Student)的连续空间,输入每个结点的信息(学号、姓名、性别、年龄),结构体指针p1用于指向新开辟的结点位置,p2用于尾随p1并将该结点成员next指向新结点,最后一个结点信息输入完成就退出循环,并将NULL赋给最后一个结点的成员next,完成链表创建。
p2=p1=(struct Student *)malloc(sizeof(struct Student));//p1、p2指向新开辟的结点位置
scanf("%d",&p1->num);//输入学号
gets(p1->name);//输入姓名
scanf("%c",&p1->sex);//输入性别
s

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



