遍历链表:最后一个人去哪了

宿舍四个人的体测成绩按顺序连成了链表(尾插法,下一题的母题会教),程序要一行一个输出,再数出人数,应该输出: 78 92 85 60 共 4 人 可现在最后一个人没了。先运行,看画布上 p 走过了哪几个结点、循环结束时 p 停在哪;再改一处

开始练习 →

母题:尾插法建立成绩链表

输入 n 和 n 个成绩,用尾插法建一条链表(先来的在前),再按顺序输出。例如输入: 3 88 61 97 输出: 88 61 97 结点已经建好了,可还没接到链表上,所以什么都没输出。思路:用 tail 记住最后一个结点,新结点接在 ta

开始练习 →

变式 1:头插法让最新的排最前

体测记录想让最近一次排在最前。输入 n 和 n 个成绩(按时间先后),输出时最新的在前。例如输入: 3 88 61 97 输出: 97 61 88 现在用的是尾插法,顺序没反过来。把建表改成头插法(学 1 讲过),看画布上 head 每一步

开始练习 →

变式 2:宿舍电表链表求天数和总度数

宿舍每天记一次用电度数,输入以 -1 结束(-1 不算)。程序已经用尾插法把每天的度数连成链表, 请遍历链表,输出一共几天、总共几度。例如输入 5 8 6 -1,输出: 共 3 天,总共 19 度

开始练习 →

变式 3:体温链表里第一次发烧是第几天

一周体温按天连成链表(体温乘 10 存成整数,37.3 度存成 373)。输入 n、n 个体温,找第一次达到 373 的是第几天(从 1 数); 一次都没有就输出 没有发烧。例如输入: 4 365 374 368 380 输出: 第 2 天

开始练习 →

变式 4:链表里高于平均分的成绩

输入一串成绩,以 -1 结束(至少一个成绩),按原顺序输出高于平均分的成绩;一个都没有就输出 无。例如输入 60 90 75 -1,平均 75,输出: 90 程序第一遍已经算好了总分 sum 和人数 cnt,可第二遍把所有人都输出了。

开始练习 →

二级 · 程序填空:尾插法建立链表

函数 create 用尾插法把数组 a 的 n 个元素建成一条链表,返回头指针。程序输出 3 1 4。请在【】处填入正确的内容。 #include <stdio.h> #include <stdlib.h> str

开始练习 →

二级 · 程序改错:链表里的最高气温

下面程序的功能是:输入 n 和 n 天的气温(可能是负数),建成链表后输出最高气温。例如输入 3 和 -5 2 -1,输出 最高 2 度。 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。

开始练习 →

二级 · 程序设计:链表里的体测达标人数

main 函数已经把体测成绩建成了链表。请编写函数 fun:返回链表中成绩大于等于 line 的结点个数。 例如链表为 58 60 90、line 为 60 时,函数返回 2。 注意:main 函数和其他部分已经写好,不要改动;只在 fun

开始练习 →

作品:食堂排队,我排第几

中午食堂排队,室友们按到达顺序排进一条链表(先到的在前),每个结点存一个名字。输入 n、n 个名字和你的名字, 输出整条队伍和你排第几。例如输入: 3 阿杰 小林 我 和 我,输出: 阿杰 -> 小林 -> 我 -> NU

开始练习 →