题目完整描述
13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现。
程序的运行示例如下:
出圈成员及顺序: 3 6 9 12 2 7 11 4 10 5 1 8
最后的成员是: 13
***输出提示:"\n出圈成员及顺序:"
***输出格式:"%3d"
***输出提示:"\n最后的成员是:"
***输出格式:"%3d"

参考代码:

#include <stdio.h>
#define     N   13struct person
{int number;int nextp;
} link[N + 1];int main(void)
{int i, count, h;/* 建立队列 */for (i = 1; i <= N; i++){if (i == N){link[i].nextp = 1;}else{link[i].nextp = i + 1;}link[i].number = i;}printf("\n");count = 0;h = N;printf("出圈成员及顺序:");while (count < N - 1){i = 0;while (i != 3){h = link[h].nextp;if (link[h].number){i++;}}printf("%3d", link[h].number);link[h].number = 0;count++;}printf("\n最后的成员是:");for (i = 1; i <= N; i++){if (link[i].number){printf("%3d", link[i].number);}}return 0;
}

以上就是对于本题的解题思路了,如果你觉得我的文章对你有用请点个赞支持一下吧。如果此文章有错误或者有不同的见解欢迎评论或者私信。wink~

C语言编程练习 7.13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。相关推荐

  1. 有n个人,顺序排列, 并首尾相连围成一圈。从第一个人开始报数(从1到4),凡报到4的人退出圈子+扩展版本

    https://blog.csdn.net/qq_44037213/article/details/106551760?fps=1&locationNum=2 有n个人(n<=1000) ...

  2. 海大910-2014年编程题1:13个人围成一圈, 从第1个人开始顺序报号1, 2, 3。凡报到3者退出圈子。找出最后 留在圈子中的人原来的序号。要求用链表实现。(15分)

    题目 本题是2014年中国海洋大学研究生入学考试910高级程序设计程序设计题第1题. 题目: 13个人围成一圈, 从第1个人开始顺序报号1, 2, 3.凡报到3者退出圈子.找出最后 留在圈子中的人原来 ...

  3. (链表解决)13个人围成一圈,从第一个人开始顺序报号1,2,3,凡报到3的人,退出圈子,找出最后留在圈子里的人的序号。

    题目 13个人围成一圈,从第一个人开始顺序报号1,2,3,凡报到3的人,退出圈子.找出最后留在圈子里的人的序号. 代码 #include <stdio.h> #define n 13 ty ...

  4. c语言】13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子。找出最后留在圈子中的人原来的序号

    题目(摘自谭浩强的C语言):有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那个人. 解法思路:首先不要将思维局限在一圈人,可以先将n个 ...

  5. 围圈报数c语言编程,C语言编程:有n个人围成一圈,顺序排号。从第一个人开始报数......

    题目:有N个人,从1到N编号,按照编号顺序围成一圈.从第一个人开始报数(从1报到3),凡报到3的人退出圈子. 问:最后留下的人的编号是几号. ============================= ...

  6. 13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。

    [绕圈报数] 1130 更新 ======== 一般化情况 13个人围成一圈,从第1个人开始顺序报号1.2.3,凡报到3的人退出圈子.找出最后留在圈子里的人原来的序号. 输出提示 "出圈成员 ...

  7. ACMNO.38 C语言-报数 有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。

    题目描述 有n人围成一圈,顺序排号. 从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.`在这里插入代码片` 问最后留下的是原来的第几号的那位. 输入 初始人数n 输出 最后一人的初始编号 样 ...

  8. 详细讲解C语言经典例题:有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位

    有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位 如题,相信很多人都和我一样,当时看到根本不知道从何下手.那么我们先不看代码,画图 ...

  9. 13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子。找出最后留在圈子中的人原来的序号。要求用链表实现。

    13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子.找出最后留在圈子中的人原来的序号.要求用链表实现. #include <stdio.h> #include < ...

  10. cqupt题库 n个人围成一圈,顺序编号。从第一个人开始从1到m报数,凡报到m的人退出圈子,编程求解最后留下的人的初始编号。 程序运行示例: 6 3(两个输入数据之间有空格) 1

    n个人围成一圈,顺序编号.从第一个人开始从1到m报数,凡报到m的人退出圈子,编程求解最后留下的人的初始编号. 程序运行示例: 6 3(两个输入数据之间有空格) 1 输入格式:scanf("% ...

最新文章

  1. LSMW批处理使用方法(09)_步骤10、11
  2. oracle拼接字符串报错,Oracle 中wmsys.wm_concat拼接字符串,结果过长报错解决
  3. 计算机ip地址配置参数,指定电脑的IP地址和DNS等参数配置方法
  4. mysql排序区分大小写吗_MySQL操作数据时区分大小写
  5. 深度解析艾瑞咨询《2017年度中国商业智能行业研究报告》
  6. JPA getValidationMode()
  7. oracle 学习日志 ----Oracle时间加减
  8. 作业3_interview_傅志阳_1101210634
  9. Java基础---Java中运算符优先级(十六)
  10. 免费微信小程序商城源代码,基于Uni-App,实现一码多端
  11. 玩转安卓10源码开发定制(17)编译Windows平台adb和fastboot工具
  12. 【Windows 问题系列第 13 篇】如何修改 Windows10 的鼠标指针样式
  13. gitlab发邮件收不到
  14. 如何在Win10不同设备之间同步便签
  15. jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...
  16. 习题6 3.6.2 典型题例解析 3.6.3 自测训练
  17. 今天是个天气晴朗的日子
  18. 索引_期刊_影响因子_分区
  19. 立足信息时代起点 探索企业营销新模式
  20. 苹果cmsv10好看的七色中文二开视频免费模板

热门文章

  1. C++17新属性详解
  2. HTML期末设计——代码篇
  3. linux根windows,linux系统刨根之路(二):实现windows和linux双系统-Go语言中文社区...
  4. 华北电力计算机类哪个专业好,华北电力大学哪个专业好就业
  5. oracle redo查询,ORACLE UNDO REDO查看
  6. AXI4 Increase burst / wrap burst/ fix burst 和 narrow transfer
  7. 扒一扒最近很火的被马云强东联手封杀性感女黑帽
  8. 释放数字生产力 引领数字化转型新纪元——弘玑Cyclone 2022产品发布会圆满落幕
  9. 大学 University 2
  10. 苹果连接电脑 计算机不显示硬盘,苹果连接电脑没反应怎么办?苹果连接电脑没反应解决方法...