#include<iostream.h>
#include<stdlib.h>
void position(int n);
void main()
{
int m;
char ques;
cout<<" ********************************************"<<endl;
cout<<" 猴子选大王游戏"<<endl;
cout<<" ********************************************"<<endl;
cout<<endl;
cout<<"请输入猴子数目:";
cin>>m;
if(m==1)
cout<<"只有一只猴子无法称王!"<<endl;
else
position(m);
while(1)
{
cout<<"是否继续?是请输入y,否则请输入其他值。"<<endl;
cout<<"输入:";
cin>>ques;
if(ques=='y')
{
cout<<"请输入猴子数目:";
cin>>m;
if(m==1)
cout<<"只有一只猴子无法称王!"<<endl;
else
position(m);
}
else
{
cout<<" ***********"<<endl;
cout<<" *游戏结束!*"<<endl;
cout<<" ***********"<<endl;
exit(0);
}
}
}
void position(int m)
{
int n;
int a[100]; //sign用来判断是否达到3
int i,out,sign,judge,j; //judge用来控制记数的顺序,为奇数时从左向右记,反之从右向左记
n=m;
for(i=1;i<=n;i++)
{
a[i]=1;
}
i=0;
out=0;
judge=1;
sign=0;
while(out<n-2)
{
if(judge==1)
{
sign=0;
i=0;
while(i<n)
{
++i;
sign=sign+a[i];
if(sign==3)
{
sign=0;
a[i]=0;
out++;
}
}
}
else
{
sign=0;
i=n+1;
while(i>1)
{
i--;
sign=sign+a[i];
if(sign==3)
{
sign=0;
a[i]=0;
out++;
}
}
}
judge=1-judge;
}
j=0;
if(judge==1)
{
for(i=1;i<=n;i++)
{
if(a[i]==1)
{
j++;
if(j==2)
cout<<"要为猴王,应站在第 "<<i<<" 个位置。"<<endl;
}
}
}
else
{
for(i=n;i>=1;i--)
{
if(a[i]==1)
{
j++;
if(j==2)
cout<<"要为猴王,应站在第 "<<i<<" 个位置。"<<endl;
}
}
}
}
猴子选大王小程序c语言实现
需积分: 16 42 浏览量
2009-10-17
22:35:48
上传
评论
收藏 183KB RAR 举报
Iloveyoubush
- 粉丝: 0
- 资源: 3
最新资源
- 老飞飞搭建基础通用数据库V19数据库.rar
- jquery.js
- 机械设计多工位ACF贴胶带&预压设备sw18可编辑非常好的设计图纸100%好用.zip
- 基于Pytorch复现Point-Transformer,用于ShapeNet数据集点云分割
- 【医学影像分析】2D超声图像的分割检测(Ultrasound Nerve Segmentation - Kaggle数据集)
- 嘎嘎香的五款神仙谷歌插件
- .arch书源导入教程.mp4
- 贪心算法介绍及代码示例讲解
- CR13SP35MSI64 Crystal 水晶报表运行组件最后版本64位
- 图像分类数据集:玉米叶是否感染分类数据集(2分类,包含训练集、验证集)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈