📄 猴子选大王.cpp
字号:
// 猴子选大王.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
struct code
{
int number;
code * next;
};
int _tmain(int argc, _TCHAR* argv[])
{
cout<<endl<<"猴子选大王"<<endl;
cout<<endl<<"*****************************************************************************"<<endl;
cout<<endl<<"请输入猴子总数:"<<endl;
int n;
cin>>n;
cout<<endl<<"请问从第几个把猴子剔除:"<<endl;
int t;
cin>>t;
code * H=NULL;//指向第一个猴子
code * R=NULL;//指向最后一个猴子
for(int i=0;i<n;i++)//将所有的猴子排成一个环
{
if(i==0)
{
H=new code;
H->number=i+1;
R=H; //R指向新的最后一个猴子
R->next=H;//最后一个猴子指向第一个猴子
}
else
{
code *p=new code;
p->number=i+1;
R->next=p; //
R=p; //R指向新的最后一个猴子
R->next=H; //最后一个猴子指向第一个猴子
}
}
code *p=H;//p指向第一个猴子
while(1)
{
if(p->next==p)//只有一个猴子了,自己指向自己
break;
else
{
for(int i=0;i<t-2;i++)//循环t-1次,则循环结束时p指向要剔除的第t个猴子的前一个猴子
p=p->next;
code * q=p->next;
p->next=p->next->next;
p=p->next;
delete q;
}
}
cout<<endl<<"选举结束,大王是: "<<p->number;
cin>>n;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -