C语言程序设计:链表删除相关结点

       创建一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。

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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值