24点小游戏(C语言实现) | 您所在的位置:网站首页 › 24点33333 › 24点小游戏(C语言实现) |
一、题目分析
题目要求: 24点小游戏是经典的纸牌益智游戏。 常见游戏规则如下: 从扑克牌中任意取出四张牌,对牌面上的四个数字使用任意的加减乘除(每张牌牌面上的数字都只能使用一次),第一个能得到24者为胜。(其中,J代表11、Q代表12、K代表13、A代表1),请按要求编写程序实现24点小游戏。 基本要求:随机生成四个代表扑克牌牌面的数字,程序自动列出所有可能算出24点的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题。 程序风格良好(使用自定义的注释模板)程序自动列出的表达式无重复提高要求:用户初始生命值为一给定值,初始分数为0。随机生成四个代表扑克牌牌面的数字,由用户输入包含这四个数字的运算表达式(可包含括号),如果表达式计算结果为24,则代表用户赢了此局。 程序风格良好(使用自定义的注释模板)使用计时器,要求用户在规定时间内输入表达式,如果规定时间内运算正确则加分,超时或运算错误则进入下一题并减少生命值(不扣分)所有成绩均可记录在TopList.txt文件中分析: 1.可以通过rand()函数生成四个1-13的随机数 2.通过分析,表达式可分为以下三类: )不含括号的表达式)含有一个括号的表达式)含有两个括号的表达式这三类表达式可具体概括为以下五种: ● ((A_B)_C)_D ● (A_(B_C))_D ● A_((B_C)_D) ● A_(B_(C_D)) ● (A_B)_(C_D) 我们可以通过3个for循环的嵌套根据五种表达式类型穷举出四个随机数可能组成的所有表达式,并利用if条件判断输出所有能够得到24点的表达式。 二、算法构造(流程图)● 通过num()函数生成四个1-13的随机数 void num() { int i; srand(time(NULL)); for(i=0; i |
CopyRight 2018-2019 实验室设备网 版权所有 |