猴子.cpp

来自「猴子选大王 猴子选大王」· C++ 代码 · 共 63 行

CPP
63
字号
#include<iostream.h>
void main()
{
	int n,sum=0,total; //total统计有资格选大王的猴子
	int i,flag;
	int a[100];
	cout<<"请输入猴子的总数:";
	cin>>n;
	total=n;
	for(i=1;i<=n;i++)
		a[i]=1;
	if(total<=0)
		cout<<"没有猴子来当大王!"<<endl;
	if(total>0&&total<3)
		for(i=1;i<=n;i++)
			if(a[i]==1)
			{ cout<<"猴大王是"<<i<<endl;break;}		
	while(total>2)
	{
		for(i=1;i<=n;i++) //从头到尾
		{
			flag=1; //标志从头到尾
			sum=sum+a[i];
			if(sum==3)
			{
				a[i]=0;
				total=total-1;
				sum=0;
			}
		}
		for(i=1;i<=n;i++)
		    cout<<a[i]<<" ";
		cout<<endl;
		sum=0;
		if(total>2)
		{
		   for(i=n;i>=1;i--)
		   {
			   flag=0;    //标志从尾到头
			   sum=sum+a[i];
			   if(sum==3)
			   {
				   a[i]=0;
				   total=total-1;
				   sum=0; //清零再次循环
			   }
		   }
		   for(i=1;i<=n;i++)
		       cout<<a[i]<<" ";
		   cout<<endl;
		   sum=0;
		}
	}
	if(flag==1) //表示最后一次从头到尾
		for(i=n;i>=1;i--)
			if(a[i]==1)
			{ cout<<"猴大王是"<<i<<endl;break;}
	if(flag==0) //表示最后一次从尾到头
		for(i=1;i<=n;i++)
			if(a[i]==1)
			{cout<<"猴大王是"<<i<<endl;break;}
	
}

⌨️ 快捷键说明

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