永发信息网

C语言题,n个人围成一圈,从第一个人开始喊123喊到3的就退出,一圈一圈喊,剩下就两个人

答案:1  悬赏:60  手机版
解决时间 2021-02-20 02:57
C语言题,n个人围成一圈,从第一个人开始喊123喊到3的就退出,一圈一圈喊,剩下就两个人两个人轮着喊123喊3的退下,直到剩最后一个,输出最后一个人是第几个。纯手打希望你们听的懂,谢谢!
最佳答案
#include <stdio.h>
#define N 1000
#define m 3    //报数是3
int main()
{
int a[N] = { 0 };
int n;
int count = 0;
int j = 0;
int i;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
a[i] = i + 1;
}

int left = n - 1;
while (left)
{
if (a[j] != 0) //如果这个位置上面的人还在的话就count++,就进行报数
count++;  //报数就+1
if (count == m)
{
a[j] = 0; //报数正好是3的话,这个位置的人退出,置零
count = 0; //报数也置零zongrenshu
left--;//总人数减少一个
}
j++;   //序号向后
if (j > n - 1)
j = j%n;

}
for (i = 0; i < n; i++)
if (a[i])
printf("剩下的是序号为%d的人\n", a[i]);



return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么下颚两腮老长痘
孩子作业自己能够检查但经常有错误却检查不出
淮海农商银行ATM怎么去啊,有知道地址的么
宫颈癌的好发部位是A.柱状上皮B.鳞状上皮C.鳞
summer morning前用哪个介词
中国主流快递公司有哪些
爱客房宾馆地址在什么地方,想过去办事
如图所示,用弹簧测力计悬挂一个重G=10N的金属
福特英文怎么写
我骂了女朋友但我很爱她怎么才能让她原谅我?
夫情之所不容已者:这不容为何是不能控制的意
国宇昌盛物流园地址在什么地方,想过去办事
win10好用吗,我咋感觉微软要止步了。
游戏竞技里一首激情的背景音乐纯节奏
芜湖戎征达伺服驱动技术有限公司(东北门)地址
推荐资讯
使用一年的微信账号密码,身份证,手机号,银
一本小说分五个系列,女主角是五姐妹,分别叫
瑞安到苍南多远多少公里:距离44.7公里
我想买别人指标房可以吗
五保是个人交要交多少钱
大众版网银申请网上支付功能怎么通过不了呢?
我的skype账户被冻结了
杜康酒地址在哪,我要去那里办事
田纳西河流域开发的核心是 A. 河流的梯级开发
如何开口找人要钱
怎样知道exo中的谁是自己的大本命二本命和三
红发商厦怎么去啊,有知道地址的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?