⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lusong7[1].3.cpp

📁 一个很有用的c++程序 对初学者很有用 功能强大 解释清楚
💻 CPP
字号:
//小孩踢圈程序,注:根据《中华人民共和国著作权保护法》,此程序
//著作权归卢松所有,可以复制传播,但是吃水不忘挖井人,不多说了!
#include<iostream>

using namespace std;

void main()
{
	const int n=17;		//总人数
	const target=3;		//间隔数
	int left=n;			//还剩几个人
	int i=0,t=0;		/*i是循环变量兼数组下标,t是记时器,并且都初始化为0*/

	int a[n+1];			/*用一个一维数组表示n个人是否已经出圈,0为没有出,
						1为已经出圈(此数组从a[1]开始)*/

	for(i=1;i<n+1;i++)
		a[i]=0;			//开始时,n个人在圈内

	i=0;				//置i值为0
	do{
		 t+=1;
		 do{
				i+=1;
				if(i==n+1)
				i=1;		//当i总数等于n+1时,令i为1,绕圈循环下去

			}while(a[i]);	//此do while语句是用来选中一个没有出圈的人
		 
		 if(t==target)		//如果记时器是3,到踢人的时候了
		 {
			 a[i]=1;		//此人被踢出
			 left-=1;		//相应的,总人数减1
			 t=0;			//记时器置0,从新为踢下一个人做准备
		 }
	}while(left>1);			/*如果剩余人数大于1,循环踢人,直到剩余人数不大于1,
							即是剩下一人*/

	for(i=1;i<n+1;i++)
	{
		if(a[i]==0)			//找到那个没有被踢出的人
		{
			cout<<"最后剩下第"<<i
				<<"个小孩了,哈哈,祝贺你没有被踢出去!"
				<<endl;		//打印出这个人是第几个,并且祝贺他,鼓励他
			break;			//退出for循环,使程序结束
		}
	}

}

⌨️ 快捷键说明

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