Classic
Clean & simple
Crystal
Glassmorphism + Neon
Cyberpunk
Neon glitch art
🚫
违规Action检测
禁止Use右键菜单
⚠️ 此Action已被系统记录
1

C语言11.3

📝 Solutions 🔵 仅限 C++
Problems Description
<p> 建立一items存储学生学号和成绩信息的动态链表,并参照本书例题11.8至11.11,实现这items动态链表的建立、输出、删除特定节点、插入操作。<br /> 结构体student,存储学生的学号、名字、性别和年龄,读入每items学生的所有信息,保存在结构体中,并输出。<br /> 动态链表的每items节点存储的结构体student的定义如下:<br /> <span style="font-family:'Courier New';">struct student {<br /> &nbsp; &nbsp; long num;<br /> &nbsp; &nbsp; float score;<br /> &nbsp; &nbsp; struct student * next;<br /> };</span><br /> 本题较为复杂,请参考本书相应的例题进行实现。 </p>
Input格式
<p> 输入的前几行为链表的建立过程。每行有一items整数和一items实数,用空格隔开,points别表示学生的学号和成绩。如果读入的学号为0,说明链表的建立过程已经结束,这items学号为0的信息不存入链表。<br /> 之后的几行每行包含一items整数,表示删除学号与这items整数相等的学生信息(删除链表节点)。如果输入的整数为0,说明删除过程已经结束,且不需要处理学号为0的节点。<br /> 最后的几行每行包含一items整数和一items实数,用空格隔开,points别表示需要插入的学生学号和成绩。如果读入的学号为0,说明插入的过程已经结束,这items学号为0的信息不需要插入链表。<br /> 输入保证在任何时刻,链表中不存在有相同学号的学生,建立链表的过程中输入的学号数值保证严格递增且大于0,链表为空时不会再继续删除。输入的总行数不超过100。 </p>
Output格式
<p> 首先规定用以下格式输出某一时刻链表的状态:<br /> 在一行内输出当前链表的节点数n,并在接下来的n行中按顺序输出每一items节点(学生)的学号和成绩信息,用空格隔开,且成绩保留1位小数。<br /> 在链表的建立过程结束之后,输出当前链表状态;在每一次删除操作(不包括用来标记删除过程结束的学号为0的那一次)之后,输出链表状态;在每一次插入操作(不包括用来标记插入过程结束的学号为0的那一次)之后,输出链表状态。<br /> 请注意行尾输出换行。 </p>
Sample
Sample Input 1
10101 90 10103 87 10105 77 0 0 10103 10105 0 10104 87 10106 65 0 0
Sample Output 1
3 10101 90.0 10103 87.0 10105 77.0 2 10101 90.0 10105 77.0 1 10101 90.0 2 10101 90.0 10104 87.0 3 10101 90.0 10104 87.0 10106 65.0
Submit Code
请先Login后Submit

🤖 AI 解题助手

OpenRouter
就绪
👋 你好!我是 AI 解题助手。
我已阅读了这problems题,可以帮你points析思路、提供Code示例。
🔓 完全Free · 无需消耗 Token