c语言有n个人围成一圈用指针,c语言编写n个人围成一圈,按1、2、3报数,报到3的人退出,求最后留在圈中的人是最初n个人中的第几个(用指针实现)...
以前做过的,贴一个给你,人数和报的数都可以输入的
#include
#include
//应用函数调用来实现
void Fun_Kill(int *pa,int n,int m)
{
for(int i=0;i
{
*(pa+i)=i+1;//给每个人编号
}
i=0;
int mCount=0;
int iCount=0;
while(iCount
{
if(*(pa+i)!=0)//报数条件,编号不为0
{
mCount++;
}
if(mCount==m)
{
printf("%d is out!\n",*(pa+i));//输出出局者的编号
mCount=0;//重新开始报数
iCount++;//出局人数统计
*(pa+i)=0;//出局者编号改为0,下次报数不进入计数
}
i++;//报数的同时指针也开始走动
if(i==n)
{
i=0;//当i==n的时候,让i=0,让指针重新指向第一个人,循环计数
}
}
for(i=0;i
{
if(*(pa+i)!=0)
{
printf("%d is survival!",*(pa+i));
}
}
}
int main()
{
int n,m;
printf("请输入总人数:");
scanf("%d",&n);
printf("请输入要报的数:");
scanf("%d",&m);
int *pKill=(int *)malloc(sizeof(int)*n);
Fun_Kill(pKill,n,m);
free(pKill);
pKill=NULL;
return 0;
}
c语言有n个人围成一圈用指针,c语言编写n个人围成一圈,按1、2、3报数,报到3的人退出,求最后留在圈中的人是最初n个人中的第几个(用指针实现)...相关推荐
- 13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子。找出最后留在圈子中的人原来的序号。要求用链表实现。
13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子.找出最后留在圈子中的人原来的序号.要求用链表实现. #include <stdio.h> #include < ...
- 海大910-2014年编程题1:13个人围成一圈, 从第1个人开始顺序报号1, 2, 3。凡报到3者退出圈子。找出最后 留在圈子中的人原来的序号。要求用链表实现。(15分)
题目 本题是2014年中国海洋大学研究生入学考试910高级程序设计程序设计题第1题. 题目: 13个人围成一圈, 从第1个人开始顺序报号1, 2, 3.凡报到3者退出圈子.找出最后 留在圈子中的人原来 ...
- 有n个人围成一圈,顺序排号,从第一个人开始报数(1-3报数),凡是报数为3的人退出圈子,问最后留下的人原来的编号是多少?
有n个人围成一圈,顺序排号,从第一个人开始报数(1-3报数),凡是报数为3的人退出圈子,问最后留下的人原来的编号是多少? 花了半个下午搞出来的代码,调试了一会,一切正常,感觉还不错! '''解题思路: ...
- 习题 6.5 有n个人围成一圈,顺序排号。从第1个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。
C++程序设计(第三版) 谭浩强 习题6.5 个人设计 习题 6.5 有n个人围成一圈,顺序排号.从第1个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号. 代码块: # ...
- (C++)有n个人围成一圈,顺序排号。从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。
(C++)有n个人围成一圈,顺序排号.从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号. #include<iostream> #include< ...
- c语言】13个人围成一圈,从第1个人开始顺序报号1,2,3.凡报到3者退出圈子。找出最后留在圈子中的人原来的序号
题目(摘自谭浩强的C语言):有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那个人. 解法思路:首先不要将思维局限在一圈人,可以先将n个 ...
- C语言>>有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。
使用工具: Dev-C++ 5.11 解题思路: 比如有4个人报数,报到3的人会退出圈子,那第四个人就应该报1,第一个人报2,依此类推.题中提到的退出圈子,在代码中并不是真正的退出member[100 ...
- 1056: 约瑟夫问题【n人围成一圈,报数为3的人退出圈子,问最后留下的人原来的编号。】
Description 有n人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位. Input 初始人数n Output 最后一人的初始编号 ...
- sql server,求出每个班级中的人的最大年龄的所有信息
Student表: 方法一:嵌套查询 select s2.* from ( select class,max(age) Age from Student group by class ) s1left ...
最新文章
- 腾讯 JDK 11 正式开源,高性能、太牛逼啦!
- linux服务器远程桌面 数字键盘不能用
- 程序员生存定律--程序人生的出口
- java dh算法_https密钥交换DH算法
- Bugtags 2016-06-16 更新内容
- Java基础---集合的概述---list、set、map、泛型、collections
- “鸡肋”的百度,掉队了 BAT? | 畅言
- 网络流概念及相关算法介绍
- 剑指offer、把二叉树打印成多行(python)
- 决定论的科学家认为,自我是大脑的随附现象,自由意志是一种幻觉
- Powerbuilder 12.5 下载地址
- 腾讯服务器鉴黄系统,腾讯云智能鉴黄系统
- html5 sha1,js-sha1加密
- 新浪短网址t.cn如何生成
- 分区丢失了数据怎么恢复
- python双柱状图与双折线图_双坐标实现图标中同时存在柱状图和折线图
- 动态内存的分配与释放
- 拆分基础Slam(1)--静态相机前端
- python编写一个简单的程序验证码_Python实现一个简单的验证码程序
- 《必然》四、不可复制性决定所有价值