永发信息网

建立一个链表,每个结点包括学号姓名性别年龄,输入一个年龄,如果链表中的结点包含这个年龄,则将此节点

答案:1  悬赏:0  手机版
解决时间 2021-03-29 17:55
建立一个链表,每个结点包括学号姓名性别年龄,输入一个年龄,如果链表中的结点包含这个年龄,则将此节点
最佳答案

#include 
#include 
#include 

typedef struct student {
unsigned id; // 学号
char name[20];
unsigned age;
struct student *next;
}*LinkList,*pNode;

LinkList GetEmptyList() {
LinkList head = (pNode)malloc(sizeof(struct student));
head->next = NULL;
return head;
}

void AddNode(LinkList head, pNode newnode) {
newnode->next = head->next;
head->next = newnode;
}

void WhatName(LinkList head, unsigned age) {
pNode p = head,q;
while(p->next) {
if(p->next->age == age) {
q = p->next;
p->next = q->next;
free(q);
}
else p = p->next;
}
}

void ShowList(LinkList head) {
pNode p = head->next;
while(p) {
printf("%u %s %u
",p->id,p->name,p->age);
p = p->next;
}
}

int main() {
unsigned id,age;
char name[20];
pNode newnode;
LinkList head = GetEmptyList();
printf("学号 姓名 年龄(q to quit):");
while(scanf("%u%s%u",&id,name,&age) == 3) {
newnode = (pNode)malloc(sizeof(struct student));
newnode->id = id;
newnode->age = age;
strcpy(newnode->name,name);
AddNode(head,newnode);
printf("学号 姓名 年龄(q to quit):");
}
ShowList(head);
WhatName(head,21); // 删除年龄为21周岁的学生(荒唐)
ShowList(head);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
看图帮我写写关于出去玩。谢。(爬山喝喝茶,
PS4截图时,如何去掉左上角的提
《惊情五百年(风云+猫鼠)》风云水龙吟小说txt
作文:……真难得
下列字与此诚危急存亡之秋也的亡意思相同的一
e一9999是什么游戏机怎么玩
struts MVC架构中M、V、C分别是具体那一部分
如果,有一个你爱的人(他也很爱你),和一个爱
求教:复合地板下面需要铺设软木垫吗?
用一个圆3条线段能画出什么图
微笑上说奔3,奔4,奔5,是什么意思
湾灰村民委员会地址在什么地方,想过去办事
职业真得无分贵贱吗?
孙震的贡献
蛋糕里加盐的好处
推荐资讯
父亲去世近20年了,为什么从来也梦不到他
听说上高一年级后课本是高一到高三—起发下来
不是东北的,请不要讲什么东北乱炖,我们东北
我用银行卡给微信充值,但是银行卡已经扣了钱
前几天领的京东金融APP支付券怎么用
腌制萝卜怎样才能脆
南京市的高中学校有哪些?
泥炉烧肉师中式炭火烤肉的金针菇好不好吃
1.是所有电场都是由电荷产生的吗
请问广州和新疆有时区时间上的差别没?如广州
如何处理管理中的两难问题
昆明市公交车八十三路路线途经站名
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?