标题:[求助]请大家帮忙编一个程序
只看楼主
苦苦来学C
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-3-10
 问题点数:0 回复次数:4 
[求助]请大家帮忙编一个程序
N只猴子选大王,选法如下:所有猴子按1,2,3。。。N编号围坐一圈,按照1,2,3,。。。。M报数,凡是报到M号的退出圈外,如此循环报数,直到圈内剩下一只猴子,这只猴子就是大王。
搜索更多相关主题的帖子: 大王 
2007-04-09 21:04
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
得分:0 
你搜一下吧,以前有好多这样的帖

雁无留踪之意,水无取影之心
2007-04-09 21:06
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
得分:0 
约瑟夫环问题!

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-04-09 21:12
苦苦来学C
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-3-10
得分:0 

谢谢啦~!!
2007-04-09 21:47
lxzx36
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-4-9
得分:0 
#include <stdio.h>
typedef struct baoshu
{
int num,code;
struct baoshu *next;
}Node,*List;

void Quitbaoshu(List L,int n,int m)
{
Node *p,*s,*nL;
p=L->next;
printf("\n\nnishuruxinxiruxia:\n");

nL=L->next;
printf("\n\nchulieshunxu:\n");
do
{
int i=1;
p=nL;
while(i<m)
{
s=p;
p=p->next;
i++;
}

printf("xuesheng%d\n",p->num);
s->next=p->next;
nL=s->next;
n--;
}while(n>0);
free(p);
free(s);
}

void Creatbaoshu(List L,int n)
{
int i=1;
int key;
Node *p,*s;
p = L;
for(;i<=n;i++)
{ s=p;
p=(Node *)malloc(sizeof(Node));
s->next=p;
p->num=i;

}
p->next=L->next;
free(p);
}

void main()
{
int m,n;
List L;
L=(List)malloc(sizeof(Node));
printf("shu ru ren shu N he bao shu shang xian m:\n");
scanf("%d%d",&n,&m);
Creatbaoshu(L,n);
Quitbaoshu(L,n,m);
getch();
return;
}

程序就是上边这个 ,可以自己再加些东西
2007-04-10 08:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-130504-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024953 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved