1、 实验一:日本人抓熊问题二战后的某一天,N 个日本人来到了一个山洞休息,为了派出一个日本人去外面充满危险的丛林中采摘食物,他们设置如下游戏产生外出采摘的人:1、首先,所有参加游戏的日本人按顺序编号为 1、2、3N;2、接下来每个日本人心里产生一个数字,这个数字称为序号为 N 的人的密码 P;3、所有参加游戏的人按照编号站成一个圈,长老为游戏设置初始密码 K,从编号为 1 的人这里开始报数,报到 K 的人退出队伍,然后将自己心中的密码 K2 说出来,由下一个人继续从 1 开始报数,报到 K2 的人退出队伍,以此类推;4、当队伍中剩下一个人的时候,这个人就是今天要出去采摘的日本人,他可能回不来了!
2、请各位同学在 VC+环境中设计程序,在用户输入了人数 N 和初始密码 K 的情况下,自动完成上面的游戏过程,输出离开队伍的人的序号序列,选出要去采摘的日本人,输出他的编号。实验要求:1、完成时间为 2 个小时,完成程序后请辅导老师检查,如果程序无输出则无成绩;2、实验环境 VC+6,请同学们首先创建项目,然后开始编码;3、实验成绩 10 分,期中 20%受程序编写风格影响。#include using namespace std;typedef struct Nodeint data;struct Node * next;Lnode,*LinkList;LinkList Creat(int n
3、um)LinkList L;Lnode *s,*r,*head;int i=1;L=r=NULL;while(1)s=new Lnode;s-data=i;i+;if(L=NULL) L=s;head=L;elser-next=s;r=s;if(i=num+1)break;r-next=head;return L;int out(LinkList L,int num,int step)Lnode *p,*s,*n;p=L;for(int i=1;inext;coutdatanext=p-next; p=p-next; delete n; return 0;void get(LinkList L,int step)Lnode *p,*s;p=L;p=p-next;p=s; /徐晓佳 2010118003p=p-next;s-next=p-next;coutdata;delete p;int main()LinkList L;int num,step;cinnumstep;L=Creat(num);out(L,num,step);return 0;