作品:宿舍围圈数数,谁去倒垃圾

👁️ 30 人浏览 💬 0 人评论 ❤️ 添加收藏

宿舍 n 个人围成一圈,从第一个人开始报数,报到 m 的人出圈,下一个人重新从 1 报……最后剩下的那个人去倒垃圾。

程序先用尾插法建好链表,再让最后一个结点的 next 指回第一个——这样的链表叫循环链表,走到尾巴会自动回到开头。 p 指向当前报数的人,q 始终在 p 的前一个,删除 p 时用的就是本关学的 q->next = p->next; free(p);。

输入 n、m 和 n 个名字,输出出圈顺序和倒垃圾的人。例如输入:

3 2
阿杰 小林 大刘

输出:

出圈顺序:小林 阿杰
今天倒垃圾的是:大刘

可程序每次都多数了一个人。修好以后,换上你们宿舍的名字和数字,录下片尾发到群里。

代码里以 @youci 开头的 printf 只负责运行后在画布上显示中间值,不影响输出和判题,不用改。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论
🔒 登录并作答后可看讨论