C语言题,由n(n<50)个人围成圈做游戏,游戏规则是从第m(m<=n)个人开始循环报数,报数为7
答案:2 悬赏:10 手机版
解决时间 2021-03-23 01:36
- 提问者网友:练爱
- 2021-03-22 10:52
C语言题,由n(n<50)个人围成圈做游戏,游戏规则是从第m(m<=n)个人开始循环报数,报数为7
最佳答案
- 五星知识达人网友:青灯有味
- 2021-03-22 12:25
可以使用一个循环链表来写
链表中各节点可以设置一个编号和一个是否出局标记
然后开始从一个位置进行链表遍历(到头了就从尾转下去)
每数到7则将相应结点标记为出局
最后只剩一个结点时就是胜出者
如果代码不想自己写的话
我可以有偿代劳
链表中各节点可以设置一个编号和一个是否出局标记
然后开始从一个位置进行链表遍历(到头了就从尾转下去)
每数到7则将相应结点标记为出局
最后只剩一个结点时就是胜出者
如果代码不想自己写的话
我可以有偿代劳
全部回答
- 1楼网友:愁杀梦里人
- 2021-03-22 14:01
#include
void joseph(int n,int m);
int main(void)
{
int n,m;
printf("请输入参加游戏的人数: ");
scanf("%d",&n);
printf("请输入从第几个人开始报数: ");
scanf("%d",&m);
joseph(n,m);
return 0;
}
void joseph(int n,int m)
{
int i,s=0;
for(i=2;i<=n;i++)
s=(s+m)%i;
printf("胜出者是:%d ",s+1);
}
void joseph(int n,int m);
int main(void)
{
int n,m;
printf("请输入参加游戏的人数: ");
scanf("%d",&n);
printf("请输入从第几个人开始报数: ");
scanf("%d",&m);
joseph(n,m);
return 0;
}
void joseph(int n,int m)
{
int i,s=0;
for(i=2;i<=n;i++)
s=(s+m)%i;
printf("胜出者是:%d ",s+1);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯