因为你让猴子的编号从0开始的。head-num=0; ——虽然这一语句被注释掉了,的num的值还是有的(随机),但只要不是0(且它又没有当上大王),就不影响运行。
我们提供的服务有:做网站、成都做网站、微信公众号开发、网站优化、网站认证、荔波ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的荔波网站制作公司
/ 下面的程序玩的是这样一个游戏:有 n 只猴子,它们决定选一个作为大王。它们讨论后决定这样选大王:首先选定一个数字 m。然后n只猴子首尾相连围成一圈,编号 1,2,..n 。
在while(m!=1)前加一句x=m;。把if(index==m)改成if(index==x)。把for(y=0;ym;y++)改成for(y=0;yx;y++)。
{ h=link[h].nextp;if(link[h].number)i++;} printf(%4d,link[h].number);link[h].number=0;count++;} 这个算法主要是双while循环这里。首先while(countM-1)外循环的次数是7次。
http:// 这是约瑟夫环的问题,上面有链接。
1、一:实验内容:M只猴子要选大王,选举办法如下:所有猴子按1,2……n编号围成一圈,从第一号开始顺序1,2……m,凡是报m号的退出圈外,如此循环报数直到圈内只剩一只猴子时这只猴子就是大王。
2、void Delete(monkeylist *p);写的不对 你要删除一个猴子当前结点必须记住当前结点的前一个结点,然后让这个前一个结点指向当前结点的后一个结点。你不用特意写delete函数。
3、while(j!=n-1) //当j=n-1时应该将该结点的下一个结点删除。
4、在猴子王国里,一年一度的选大王时间到了,今年的大王由谁来担任呢?大家都争着想当,可是大王只能由一个担任,争了半天都没有定论,最后由一只较有权威的老猴子想了一个较公平公正的办法。
该程序主要有三个模块组成,建立单链表,报数利用do-while循环实现猴子的出列,最终剩下的猴子即猴王。具体步骤如下:第一步 首先创建循环链表。第二步 向单链表中填入猴子的编号 第二步 找第一个开始报数的猴子。
一群猴子要选新猴王。新猴王的选择方法是:让M只候选猴子围成一圈,从某位置起顺序编号为1~M号。从第1号开始报数,每轮从1报到N,凡报到N的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。
有n只猴子,需要选出一个大王,选择规则如下,设定一个数K,从1开始数数,数到K则淘汰一只猴子,然后继续从1开始,直到剩下最后一只猴子,求出选举过程。
void Delete(monkeylist *p);写的不对 你要删除一个猴子当前结点必须记住当前结点的前一个结点,然后让这个前一个结点指向当前结点的后一个结点。你不用特意写delete函数。
参考答案1黑夜给了我一双黑色的眼睛,可我却用它来翻白眼。