一个c++小程序

23根火柴游戏: 两个游戏者开始拥有23根火柴(或小棒)。每个游戏者轮流移走1根、2根或3根火柴,拿到最后一根火柴的就算输了。编一程序与计算机玩这个游戏。

编好调试一下,如果有小错误我不会改,谢谢

#include <stdio.h>
#include <stdlib.h>
#include <iostream>

int getMin(int a,int b)
{
return a<b?a:b;
}
int main()
{
printf("游戏开始\n");
int count = 23;
int input;
int computerInput;
while(true)
{
printf("当前还剩%d根火柴,请玩家拿取火柴:\n",count);
printf("1.一根火柴 ");
if(count >= 2)
{
printf("2.两根火柴 ");
}
if(count >= 3)
{
printf("3.三根火柴");
}
printf("\n");
while(true)
{
std::cin >> input;
if(input == 1||(input == 2&&count >= 2)||(input == 3&&count >= 3))
break;
else
printf("请正确输入序号\n");
}
count -= input;
if(count == 0)
{
printf("游戏结束,玩家输掉了游戏\n");
break;
}
if(count%4 == 1)
{
computerInput = rand()%(getMin(count,3))+1;
}
else
{
computerInput = (count%4 == 0)?3:count%4-1;
}
printf("电脑拿走了%d根火柴\n",computerInput);
count -= computerInput;
if(count == 0)
{
printf("游戏结束,电脑输掉了游戏\n");
break;
}

}

system("pause");

}

//我写的这个小程序如果玩家不注意诀窍的话是一定输的追问

调试了一下,有两个错误,能否请调试一下,谢谢

温馨提示:内容为网友见解,仅供参考
无其他回答

怎么用c语言编写一个小程序?
1、首先打开DEV C++软件,点击“新建源代码”,在编辑页面输入以下代码。2、因为题目要求我们先输入一个整数,所以在定义变量时,就应该将其定义为整数型,注意,在输入,输出函数中,整数型对应的是“%d”。3、接下来就要对输入的整数进行判断,在C语言中,if是判断语句,所以用它来对整数进行判断。if...

用C++写一个简单的表白小程序
本文介绍一个简单的C++表白小程序,其核心功能是通过输入"no"或"yes"来触发不同的反馈。当用户输入"no"时,程序会不断提示用户重新选择,直到用户输入"yes",此时程序将显示一颗会变色的心和"爱你,么么哒"的字样。程序的实现主要通过控制流程和屏幕输出来完成。程序的运行结果是,如果用户输入"no",...

c++一个小程序编写
include<cstdlib>#include<cmath>#include<iostream>using namespace std;float triangle(float,float,float);int main(){int a,b,c;cin>>a>>b>>c;cout<<triangle(a,b,c);system("pause");return 0;}float triangle(float x, float y,float z){int p;p=(x+y+z)\/2;return sqrt(p*...

用C++做一个【求圆柱体积】小程序:
cout << "\\n机会用完,程序结束。\\n";} }

C\/C++如何写出极简的HelloWorld程序?
C\/C++编程中,要创建一个极简的HelloWorld程序,无需依赖main函数。通过内嵌汇编,可以消除额外的库函数调用,显著减小程序体积。通常的HelloWorld程序从main函数开始,但这并不是必须的。实际上,我们可以编写一个没有main函数的极简版本。以C语言为例,经典的HelloWorld程序看似简单,但编译后的二进制文件...

我编写C++的一个小程序。第一步的主要内容是“循环输入两个整数,并输...
输入‘|’时退出程序”。这是你希望的。输入| 时退出 while 也可以,没输入| 时再接收 a,b:while (cin>>a && cin>>b){ if (a =='|' || b=='|') break;cout<<"a="<<a<<" , "<<"b="<<b<<"\\n";} cout << "keep_window_open\\n";\/\/ 这里做别的事 } ...

C++控制台小程序解析 大小写字母转换
将小写字母转换为大写字母。程序分析如下:include "Pr.h"\/\/引用程序目录的相对路径中的头文件. #includeiostream\/\/预处理命令,编译器的类库路径里面的头文件.using namespace std;\/\/std 命名空间,不同的命名空间可以有相同的类名被定义.int main()\/\/主函数 char c1,c2; c1='a';\/\/...

用c++写一个打开网页的小程序?
fwrite(strResponse.c_str(),1, strResponse.length(), fp);fclose(fp);getchar();return 0;} 或者是 include "stdafx.h"include <windows.h> include <iostream> include "Wininet.h"pragma comment(lib,"Wininet.lib")using std::cout;using std::endl;\/\/模拟浏览器发送HTTP请求函数 std::...

用C++编的一个小程序,运行后只有进程,没有窗口,这是为什么?程序如下
UINT uMsg,WPARAM wParam,LPARAM lParam );int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd ){ WNDCLASS wndcls;wndcls.cbClsExtra=0; \/\/\/ 这里重复设置了, 并且漏设置了 wndcls.cbWndExtra = 0;wndcls.cbClsExtra=0;wndcls.hbrBackground=(HBRUS...

【新手求教】我想用c++写个小程序 内详
建议楼主学习C#,和C++差不多,很快就能掌握。而且通过.Net很容易对系统和网络操控。这里就有一篇:C# 修改IP、网关、DNS 1、在 “解决方案资源管理器” 右击 “引用” 添加 “System.Management” 的引用。2、添加 “using System.Management;”。static void SetNetworkAdapter(){ ManagementBaseObject...

相似回答
大家正在搜