1133: 删除链表节点
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
建立一个链表,每个节点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的节点所包含的年龄等于这个年龄,则将所有符合要求的节点删去。
输入
第一行有一个整数n,表示链表中的节点个数。保证n不超过100。
之后的n行每行有4个用空格隔开的部分,分别为学号(正整数)、姓名(长度不超过20且不包含空格的字符串)、性别(字符m或f)、年龄(正整数)。
最后一行有一个整数age,表示需要删除的节点年龄。
输出
首先输出链表最终剩下的节点个数k。
在接下来的k行,每行输出3个用空格隔开的部分,分别为学号、姓名、性别和年龄,与输入格式相同。
请注意行尾输出换行。
样例输入 复制
5
101 Aaa m 25
102 Bbb f 26
103 Ccc m 26
104 Ddd f 24
105 Eee m 25
26
样例输出 复制
3
101 Aaa m 25
104 Ddd f 24
105 Eee m 25
提示
链表节点可以这样定义:
typedef struct stu
{
unsigned int no;
char name[20];
char sex;
unsigned char age;
struct stu * next;
}STU;
---------------------------------------------------------------------------------------------------
参考代码: