📄 d.cpp
字号:
#include <iostream>
using namespace std;
typedef struct monkey //定义结点
{
int number; //编号
struct monkey * next ;
}monkey,*houzi;
void getking() //得到猴子大王的号数;
{
int mem; //猴子的数目
int count; //删除猴子的数目
cout<<"请输入猴子的数目m:"<<'\t'<<'\t';
cin>>mem;
cout<<"请输入要删除猴子的数目n:"<<'\t';
cin>>count;
int king;
int i,j;
j=mem;
houzi p,head,p2;
head=p2=new monkey;
p2->number=1;
for(i=2;i<=j;i++) //对猴子进行编号
{
p=new monkey;
p->number=i;
p2->next=p;
p2=p;
}
p->next=head;
///////////////////////////////////////
while(j>1&&count>1)
{
for(i=1;i<count;i++) //开始报数、出列;
p=p->next;
p2=p->next;
cout<<"第"<<p2->number<<"只猴子被淘汰"<<endl;
p->next=p2->next;
delete(p2);
j--;
}
king=p->number;
if(count==1)
{
p=head;
for(i=1;i<mem;i++)
{
cout<<"第"<<p->number<<"只猴子被淘汰"<<endl;
p2=p;
p=p2->next;
delete(p2);
}
king=p->number;
}
cout<<endl;
cout<<"第"<<king<<"只猴子是大王"<<endl;
}
void main()
{
getking();
cout<<endl;
l1: cout<<"是否要继续 Y继续 N推出"<<endl;
char a;
cin>>a;
if(a=='y'||a=='Y')
{
getking();
system("pause");
system("cls");
goto l1;
}
if(a=='n'||a=='N')
{
exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -