火柴游戏

21 根火柴游戏。现有 21 根火柴,两人轮流取,每人每次可以取 1 至 4 根,不可多取(假如多取或者取走的数量不在合法的范围内,则要求重新输入),也不能不取,谁取最后一根火柴谁输。请编写一个程序进行人机对弈,要求人先取,计算机后取;请设计一种计算机取走火柴的规则,使得计算机一方为常胜将军。

例如1,玩家的运行结果示例如下:

Game begin:
How many sticks do you wish to take (1~4)?6↙
How many sticks do you wish to take (1~4)?3↙
18 sticks left in the pile.
Computer take 2 sticks.
16 sticks left in the pile.
How many sticks do you wish to take (1~4)?3↙
13 sticks left in the pile.
Computer take 2 sticks.
11 sticks left in the pile.
How many sticks do you wish to take (1~4)?3↙
8 sticks left in the pile.
Computer take 2 sticks.
6 sticks left in the pile.
How many sticks do you wish to take (1~4)?3↙
3 sticks left in the pile.
Computer take 2 sticks.
1 sticks left in the pile.
How many sticks do you wish to take (1~1)?2↙
How many sticks do you wish to take (1~1)?1↙
You have taken the last sticks.
***You lose!
Game Over.

我的代码如下:

#include<stdio.h>
int main(void)
{int a = 21, i;printf("Game begin:\n");while (a > 0){do{printf("How many sticks do you wish to take (1~%d)?",a > 4 ? 4 : a);scanf("%d", &i);}while (i>4 || i<1 || i>a);/*************** Begin ***************/if(a==1){printf("You have taken the last sticks.\n***You lose!\nGame Over.\n");break;}a=a-i;printf("%d sticks left in the pile.\n",a);printf("Computer take 2 sticks.\n");a=a-2;printf("%d sticks left in the pile.\n",a);}return 0;
}

头歌21根火柴游戏(常胜将军)相关推荐

  1. 21 根火柴游戏(常胜将军)

    问题来自头歌 任务描述 本关任务:火柴游戏. 相关知识 为了完成本关任务,你需要掌握:C 语言基础. 火柴游戏 21 根火柴游戏.现有 21 根火柴,两人轮流取,每人每次可以取 1 至 4 根,不可多 ...

  2. 21根火柴游戏【C语言实现】

    题目 21根火柴游戏.现有21根火柴,两人轮流取,每人每次可以取1至4根,不可多取(假如多取或者取走的数量不在合法的范围内,则要求重新输入),也不能不取,谁取最后一根火柴谁输.请编写一个程序进行人机对 ...

  3. 头歌23根火柴的小游戏

    任务描述 本关任务:火柴游戏. 相关知识 为了完成本关任务,你需要掌握:C 语言基础. 火柴游戏 23 根火柴游戏.请编写一个简单的 23 根火柴游戏程序,实现人跟计算机玩这个游戏的程序.为了方便程序 ...

  4. python 实现21根火柴游戏

    游戏规则::有21根火柴,人和计算机轮流拿,人先拿(输入拿几根)计算机后拿,每次至少1根最多4根,拿到最后一根火柴的算输,要确保计算机一定可以获胜 tips:保证计算机最后能拿到20,所以就不能取16 ...

  5. C语言------实现抢21根火柴的小游戏

    有21根火柴,两人依次取,每次每人只可取走1~4根,不能多取,也不能不取,谁先取得最后一,火柴谁输.请编写程序一个人机对弈程序,要求人先取,计算机后取,保证计算机为"常胜将军"即一 ...

  6. 21根火柴常胜将军c语言,常胜将军算法

    甲和乙两人玩抽取火柴的游戏,共有21根火柴.每人每次最多取4根,最少取1根火柴.如果某个人取到最后一根火柴则输了.甲让乙先抽取,结果每次都是甲赢.这是为什么? 算法分析:甲要每次都赢,那么每次甲只给乙 ...

  7. Craps赌博游戏、百钱白鸡、七星彩选号、抓小偷、21根火柴、10000以内完美数

    Craps赌博游戏 游戏规则:同时扔两颗骰子,第一次扔出的点数数7或则11玩家胜,扔出2.3或则12庄家胜利,否则继续扔骰子. 以后只要扔出和第一次相同的点数玩家胜,扔出7庄家胜. 玩家每次进入有10 ...

  8. 21根火柴取放 c语言,趣味C语言题Word版

    <趣味C语言题Word版>由会员分享,可在线阅读,更多相关<趣味C语言题Word版(21页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 ,希望对您有帮助,可双击 ...

  9. C#,21根火柴棍问题(21 Matchticks Problem)的算法与源代码

    一.21根火柴棍问题(21 Matchticks Problem) 21根火柴棍问题是西方经典游戏之一. 给定21根火柴,2个人A和B(比如:分别是计算机和用户). 每个人一次可以挑选 1-- 4 根 ...

  10. 23根火柴游戏 c语言,23 根火柴游戏

    #includegt; int main() { int g = 23; int k = 3; int b, c;printf("这里是23 根火柴游戏!!\n"); printf ...

最新文章

  1. Spring中使用RedisTemplate操作Redis(spring-data-redis)
  2. Arcgis10安装说明
  3. SecureCRT 连数据库,启动tomcat操作命令
  4. 【MATLAB】饼图
  5. 修复jqgrid setgridparam postdata 的多次查询条件累加
  6. JAVA中的多线程(八):线程的优先级和yield方法
  7. Redis实战(11)高级特性(3)持久化
  8. c语言任务设计书,C语言课程设计任务书(必备).pdf
  9. 如何使用dosbox运行程序——步骤详解
  10. 嵩天《Python网络爬虫与信息提取》实例1:Requests库网络爬虫实战5个实例
  11. Zookeeper总结——知识点、选举机制、客户端操作及写数据流程、API操作、zookeeper分布式锁之 Curator、ZAB协议、CAP理论之zookeeper的CP理论
  12. 三维全景从制作到上传
  13. 2022年mysql国家法定节假日脚本
  14. 搭档之家|新零售:社交电商的光明尽头
  15. linux操作mysql数据库
  16. 【零基础学STM32】CubeMX+HAL 喂狗小教程
  17. 什么是CSMA/CD
  18. 关于RD和RT的意义
  19. Java富文本设置行间距,如何解决富文本设置行间距的单行带间距问题
  20. Antd源码浅析(二)InputNumber组件 一

热门文章

  1. 【Linux下6818开发板(ARM)】在液晶屏上显示RGB颜色和BMP图片
  2. 计算机开启后显示器黑屏,电脑启动后,显示器马上黑屏,又马上有画面,每次启动都是这样...
  3. 帝国CMS插件-最全免费帝国CMS插件大全
  4. 如何配置群辉相册Synology Photos实现公网访问并与朋友共享照片
  5. 虽然是看台,但是去感受下声音,也蛮好。
  6. mysql5.7 ERROR:Access denied for user ‘root‘@‘%完美解决
  7. Mac电脑版鼠标连点工具 RapidClick for Mac
  8. 使用科大讯飞的语音技术实现语音识别
  9. Linux离线环境安装部署docker(超详细)
  10. 从70%到11%‼️pp论文修改助手怎么样