main.cpp

来自「易学c++程序实例 本章主要讲述一些学习程序设计前需要了解的一些知识和一些学习」· C++ 代码 · 共 57 行

CPP
57
字号
#include <iostream>
using namespace std;
struct child
{
	int num;
	child *link;
};
void init(int n);
void gameStart(int n,int m);
child *head;
child *present;
child *end;
int main()
{
	int n,m;
	cout <<"请输入孩子的个数:";
	cin >>n;
	cout <<"请输入正整数m:";
	cin >>m;
	init(n);
	gameStart(n,m);
	cout <<"第" <<present->num <<"个孩子将获得胜利!" <<endl;
	delete present;
	return 0;
}
void init(int n)
{
	head=new child;
	head->num=1;
	present=head;
	for (int i=1;i<n;i++)
	{
		present->link=new child;
		present->link->num=i+1;
		present=present->link;
	}
	present->link=head;
	end=present;
	present=head;
}
void gameStart(int n,int m)
{
	child *pGuard=end;
	while (n!=1)
	{		
		for (int j=1;j<m;j++)
		{
			pGuard=present;
			present=present->link;
		}
		pGuard->link=present->link;
		delete present;
		present=pGuard->link;
		n--;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?