// huocai.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<string>
#define NUM 20
using namespace std;
void main()
{
//规则的输出
cout<<endl;
cout<<"***************************************************"<<endl;
cout<<"游戏规则:共有67根火柴,2个人依次拿取,每个人每次只"<<endl;
cout<<"能拿1跟或者2跟或者3跟火柴。拿到最后一跟火柴的人算输"<<endl;
cout<<"****************************************************"<<endl;
cout<<endl;
//变量的定义
int match_num=67; //火柴数目
int *p_match_num; //指向火柴数目的指针
int player = 0; //玩家变量,偶数代表玩家1,奇数代表玩家2
char player_first[NUM]; //玩家1的名字
char player_second[NUM]; //玩家2的名字
char judge; //判断变量,值为'y'时,表示玩家1先开局
int put_num=0; //拿走火柴的数目
char temp[NUM];
char *p_player_now;
int *p_put_num; //指向拿走火柴数目的指针
int *p_player;
//指针赋值
p_match_num=&match_num;
p_put_num=&put_num;
p_player=&player;
p_player_now=player_first;
//函数的定义
void match(int* p_player, int* p_match_num,int* p_put_num,char* p_player_now); //火柴拿走数目函数
//游戏开始
cout<<"请输入玩家1的名字:";
gets(player_first);
cout<<"请输入玩家2的名字:";
gets(player_second);
//玩家开局顺序的选择
cout<<"玩家“"<<player_first<<"”选择拿火柴顺序(“F(First)/S(Second)”)";
cin>>judge;
if(judge=='s')1
{
strcpy(temp,player_first);
strcpy(player_first,player_second);
strcpy(player_second,temp);
}
cout<<"玩家“"<<player_first<<"”先开始"<<endl;
cout<<endl;
//火柴的拿取
while(1)
{
if(player%2==0)
p_player_now=player_first;
else
p_player_now=player_second;
match(p_player,p_match_num,p_put_num,p_player_now);
match_num=match_num-put_num;
if(match_num==0)
{
cout<<"玩家“"<<p_player_now<<"”您输了!"<<endl;
break;
}
}
}
void match(int* p_player,int* p_match_num,int* p_put_num,char* p_player_now)
{
cout<<"请“"<<p_player_now<<"”输入准备拿走火柴的数目:";
cin>>*p_put_num;
while(*p_put_num!=1 && *p_put_num!=2 && *p_put_num!=3 || *p_match_num-*p_put_num<0)
{
if(*p_put_num!=1 && *p_put_num!=2 && *p_put_num!=3)
{
cout<<"您输入的数值不合法,拿走的火柴数目只能是 1 或 2 或 3,请重新输入:";
cin>>*p_put_num;
}
if(*p_match_num-*p_put_num<0)
{
cout<<"您输入的数值大于剩余火柴数目,请重新输入:";
cin>>*p_put_num;
}
}
cout<<"您拿走的火柴数目是: "<<*p_put_num<<endl;
cout<<"剩余火柴数目是: "<<*p_match_num-*p_put_num<<endl;
cout<<endl;
(*p_player)++;
}
分享到:
相关推荐
题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解和标程.pdf题解...
本压缩包包含了USACO比赛的题解、源代码以及对应的中文翻译,对于想要参加或者正在准备USACO的同学们来说,无疑是一份宝贵的资源。 首先,让我们来详细了解USACO题解部分。USACO的比赛题目通常涉及各种算法,包括但...
ICPC2023 西安区域赛 题解 本文档提供了 ICPC2023 西安区域赛的题解,涵盖了五个题目:A - An Easy Geometry Problem、B - Counting Multisets、C - Counting Strings、D - Deep Intervals 和 E - Dominating Point...
《电磁学千题解》是由张之翔编著的一部面向大学物理专业的教材,主要面向理工科学生以及从事电磁学教学的教师。该书详细收录了1000道与电磁学相关的习题,并且为每道题提供了详尽的解答,部分题目还提供了不同的解法...
题解《PMBOK指南》
浙江大学计算机复试题解和上机题解是一份珍贵的学习资源,专门为准备参加浙江大学计算机专业复试的学生提供指导。这份资料涵盖了复试的各项科目,旨在帮助考生全面掌握计算机领域的核心知识,并提升解决实际问题的...
PTA数据结构与算法题目集部分题解,补充blog创建前的题解 PTA数据结构与算法题目集部分题解,补充blog创建前的题解 PTA数据结构与算法题目集部分题解,补充blog创建前的题解 PTA数据结构与算法题目集部分题解,补充...
从提供的文件【标题】和【描述】来看,文档内容应该是一份关于2020年全国计算机系统能力挑战赛(China Collegiate Programming Contest, 简称CCPC)网络赛的题解资料。【标签】"CCPC 题解"进一步证实了这一点。 ...
这个“ZOJ题解集合-截至2835”显然是一份包含了大量ZOJ题目解决方案的压缩包,其中涵盖了从1到2835号的题目。共有1244个文件,这表明有些题目可能有多个不同的解法或者版本,因为题目编号总数为2835,但文件数量略多...
C++程序设计题解与上机指导.pdf
这本书包含了初高中代数的各个方面,涵盖了中考,高考,自主招生,竞赛的代数所有板块,是一本不可多得的宝贵资料,希望能帮助到大家!
离散数学 分析 题解 离散数学 分析 题解 离散数学 分析 题解
北京大学ACM题解训练指南是面向参与ACM国际大学生程序设计竞赛(ICPC)的学子们提供的一份宝贵资源。ACM竞赛旨在培养学生的算法设计、编程和问题解决能力,而这份指南则提供了大量经过精心挑选和解答的题目,帮助...
《电路题解400例及学习考研指南》是一份专为电路理论学习者和考研备考者准备的宝贵资源。这份资料集包含了丰富的电路题目及其详细的解答,旨在帮助读者深入理解电路理论,提升解题能力,并为考研复习提供有效的指导...
《C++程序设计题解(谭浩强版)》是一本专门为学习谭浩强教授编写的《C++程序设计》教材的学生准备的辅助资料。它旨在帮助读者更好地理解和解决教材中的习题,提升C++编程技能。这本书通常包含了对教材中各章练习题...
C语言题解C语言题解
离散数学题解基础知识.
《电力系统分析题解》何仰赞 《电力系统分析题解》何仰赞 《电力系统分析题解》何仰赞
【标题】"浙江大学ACM题解 ACM"是一个专注于ACM(国际大学生程序设计竞赛)的资源集合,由浙江大学提供,包含了大量的竞赛题目及其相应的解题代码。这些资源对于准备参加ACM竞赛的学生或是对算法和编程挑战有兴趣的...