C语言编程练习 7.13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。
题目完整描述
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的人退出圈子。相关推荐
- 有n个人,顺序排列, 并首尾相连围成一圈。从第一个人开始报数(从1到4),凡报到4的人退出圈子+扩展版本
https://blog.csdn.net/qq_44037213/article/details/106551760?fps=1&locationNum=2 有n个人(n<=1000) ...
- 海大910-2014年编程题1:13个人围成一圈, 从第1个人开始顺序报号1, 2, 3。凡报到3者退出圈子。找出最后 留在圈子中的人原来的序号。要求用链表实现。(15分)
题目 本题是2014年中国海洋大学研究生入学考试910高级程序设计程序设计题第1题. 题目: 13个人围成一圈, 从第1个人开始顺序报号1, 2, 3.凡报到3者退出圈子.找出最后 留在圈子中的人原来 ...
- (链表解决)13个人围成一圈,从第一个人开始顺序报号1,2,3,凡报到3的人,退出圈子,找出最后留在圈子里的人的序号。
题目 13个人围成一圈,从第一个人开始顺序报号1,2,3,凡报到3的人,退出圈子.找出最后留在圈子里的人的序号. 代码 #include <stdio.h> #define n 13 ty ...
- c语言】13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子。找出最后留在圈子中的人原来的序号
题目(摘自谭浩强的C语言):有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那个人. 解法思路:首先不要将思维局限在一圈人,可以先将n个 ...
- 围圈报数c语言编程,C语言编程:有n个人围成一圈,顺序排号。从第一个人开始报数......
题目:有N个人,从1到N编号,按照编号顺序围成一圈.从第一个人开始报数(从1报到3),凡报到3的人退出圈子. 问:最后留下的人的编号是几号. ============================= ...
- 13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。
[绕圈报数] 1130 更新 ======== 一般化情况 13个人围成一圈,从第1个人开始顺序报号1.2.3,凡报到3的人退出圈子.找出最后留在圈子里的人原来的序号. 输出提示 "出圈成员 ...
- ACMNO.38 C语言-报数 有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
题目描述 有n人围成一圈,顺序排号. 从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.`在这里插入代码片` 问最后留下的是原来的第几号的那位. 输入 初始人数n 输出 最后一人的初始编号 样 ...
- 详细讲解C语言经典例题:有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位
有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位 如题,相信很多人都和我一样,当时看到根本不知道从何下手.那么我们先不看代码,画图 ...
- 13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子。找出最后留在圈子中的人原来的序号。要求用链表实现。
13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子.找出最后留在圈子中的人原来的序号.要求用链表实现. #include <stdio.h> #include < ...
- cqupt题库 n个人围成一圈,顺序编号。从第一个人开始从1到m报数,凡报到m的人退出圈子,编程求解最后留下的人的初始编号。 程序运行示例: 6 3(两个输入数据之间有空格) 1
n个人围成一圈,顺序编号.从第一个人开始从1到m报数,凡报到m的人退出圈子,编程求解最后留下的人的初始编号. 程序运行示例: 6 3(两个输入数据之间有空格) 1 输入格式:scanf("% ...
最新文章
- LSMW批处理使用方法(09)_步骤10、11
- oracle拼接字符串报错,Oracle 中wmsys.wm_concat拼接字符串,结果过长报错解决
- 计算机ip地址配置参数,指定电脑的IP地址和DNS等参数配置方法
- mysql排序区分大小写吗_MySQL操作数据时区分大小写
- 深度解析艾瑞咨询《2017年度中国商业智能行业研究报告》
- JPA getValidationMode()
- oracle 学习日志 ----Oracle时间加减
- 作业3_interview_傅志阳_1101210634
- Java基础---Java中运算符优先级(十六)
- 免费微信小程序商城源代码,基于Uni-App,实现一码多端
- 玩转安卓10源码开发定制(17)编译Windows平台adb和fastboot工具
- 【Windows 问题系列第 13 篇】如何修改 Windows10 的鼠标指针样式
- gitlab发邮件收不到
- 如何在Win10不同设备之间同步便签
- jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...
- 习题6 3.6.2 典型题例解析 3.6.3 自测训练
- 今天是个天气晴朗的日子
- 索引_期刊_影响因子_分区
- 立足信息时代起点 探索企业营销新模式
- 苹果cmsv10好看的七色中文二开视频免费模板
热门文章
- C++17新属性详解
- HTML期末设计——代码篇
- linux根windows,linux系统刨根之路(二):实现windows和linux双系统-Go语言中文社区...
- 华北电力计算机类哪个专业好,华北电力大学哪个专业好就业
- oracle redo查询,ORACLE UNDO REDO查看
- AXI4 Increase burst / wrap burst/ fix burst 和 narrow transfer
- 扒一扒最近很火的被马云强东联手封杀性感女黑帽
- 释放数字生产力 引领数字化转型新纪元——弘玑Cyclone 2022产品发布会圆满落幕
- 大学 University 2
- 苹果连接电脑 计算机不显示硬盘,苹果连接电脑没反应怎么办?苹果连接电脑没反应解决方法...