c语言二十四点游戏,C语言解24点游戏程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前几天在微博上看到24点的游戏,6 6 6
10。算了很久是在算不出来,最后我想我何不写一个小程序解决它?说做就做,我刚开始的想法很简单,就是列举4个数的所有可能的表达式组合,然后计算表达
式是否等于24,如果是的话就找到了答案。但我花了一晚的时间都没有写出程序来…第二天我改变了思路,这也是从一些答案里得到的灵感。例如
一个3 8 3 8,它的答案是 3/(3 –
8/3)。要得到24这个答案,大笨兔想如果答案的第一个数是3,那么它要加多少,减多少,乘多少,除多少才是24?这样我们就把就24的问题转换成了规
模更小的问题,我们就这样求下去,直到最后一个数字,然后判定是否是正确答案。我使用[code lang="js"]
typedef struct EXPREESSIONG{
float numbers[4];
char operation[4];
}exp;
[/code]来
保存一个表达式,numbers数组保存4个操作数,operation保存3个操作符。这里数字我使用float保存,以前使用的是int,但我发现
3/5的值是0。于是就改成了float,不过这里也会有一个问题,比如程序读入 5 5 5 1 是得不到答案的。但是它确实有答案5/(5 –
1/5)。后来调试了才发现了一个问题:如果我定义两个变量float number1,number2,分别赋值 number1 = 1.0,number2 = 5.0;然后判断 1.0/5.0 == numbers1/number2 。这个表达式的值是0(在我的cfree上是这么多)。[code lang="js"]
#include <stdio.h>
int main()
{
float number1,number2;
number1 = 1.0;number2 = 5.0;
printf("%d\n",(1.0/5.0) == (number1/number2));
return 0;
}
[/code]输出0。但是你将5.0改成2.0的话它的值又是1.所以我的程序在这里就不灵了,我不是太清楚浮点数的运算会不会使精度减少。(这是一个需要解决的问题),但是我的递归程序逻辑是正确的。程序的源码在这里:点击下载http://download.csdn.net/detail/dabentuaipangou/4409732。
(全文完)
c语言二十四点游戏,C语言解24点游戏程序相关推荐
- CCF201903-2 二十四点(100分)【表达式计算】
问题链接:CCF201903-2 二十四点 问题分析: 表达式计算问题,关键是对输入流进行处理,需要考虑表达式中运算符的优先级.简单的逻辑,用穷举法就可以了. 用Python语言来实现的话,问题就简单 ...
- CCF 201903-2 二十四点 用栈模拟简单计算器
二十四点 来源:CCF 背景 二十四点是一款著名的纸牌游戏,其游戏的目标是使用 3 个加减乘除运算使得 4张纸牌上数字的运算结果为 24. 题目 定义每一个游戏由 4 个从 1-9 的数字和 3 个四 ...
- csp试题2:二十四点
csp试题2:二十四点 题目 分析 代码 总结 题目 问题描述 二十四点是一款著名的纸牌游戏,其游戏的目标是使用3个加减乘除运算使得4张纸牌上数字的运算结果为24. 定义每一个 ...
- 二十四点小游戏——C语言实现
二十四点小游戏(C语言实现) 过程笨拙,有很多局限之处,比如对答案的输出有限制,代码行数过多,故仅供思路参考. #include<stdio.h> #include<windows. ...
- CCF-CSP 201903-2 二十四点 Python语言 模拟栈实现
项目场景: 二十四点问题本质是处理表达式,一提到处理表达式第一反应大概就是使用栈来处理,虽然网上大部分使用python语言处理二十四点问题都是利用强大的eval()函数,但我仍然想要使用python的 ...
- C语言 解决CCF 二十四点问题
利用 C 语言 解决 CCF题库中的二十四点问题 特别致谢:原博主程序 编译环境: IDE:DEV-C++ 语言:C语言 CCF CSP官方往年题库链接点我进入 1. 题目如下: 解题思路: 此题难点 ...
- 『牛角书』基于JS实现的鸿蒙游戏——二十四点纸牌
目录 前言 概述 正式开始 一.创建项目 二.编码 1.项目结构 2.实现思路 3.主要代码块 三.页面及功能展示 1.运算正确 2.运算错误 3.换一批及重置 本人项目仓库链接 前言 相信大家都有玩 ...
- 经典二十四点程序游戏
经典二十四点程序算法 来源:http://www.xici.net/d190569991.htm 一.概述 算24点:任意给定四个整数,用加.减.乘.除以及适当的括号连接,无论顺序,使计算结果为24, ...
- 「csp模拟试题 201903-2」二十四点 C/C++ 100分
目录 题目 输入输出样例 题解思路 题解源码(c/c++) 题目 :二十四点 [问题描述] 定义每一个游戏由 4 个从 1-9 的数字和 3 个四则运算符组成,保证四则运算符将数字两两隔开,不存在括号 ...
最新文章
- PHP支付宝接口RSA验证
- source tree 递归子模块_每日刷题3--漫谈二叉树的递归遍历
- 阈值Java_亲测有效!一种完美动态阈值白平衡算法 Java实现。
- 使用 Newtonsoft.Json; 序列化正常,反序列化异常的一点思考
- 一个有趣的python排序模块:bisect
- 实验7-3-3 统计大写辅音字母 (15分)
- 基于 IdentityServer3 实现 OAuth 2.0 授权服务【密码模式(Resource Owner Password Credentials)】...
- centOS目录结构
- 定期存款可以提前取出来吗_定期存款、约定转存、自动转存和自己取出来转存有什么不同?...
- aso优化师是什么_出海产品如何优化ASO?Google Play ASO优化入门指南
- 那个高产似母猪的复旦计算机硕士
- 详测 Generics Collections: TObjectList、TObjectQueue、TObjectStack
- ASP.NET MVC的帮助类HtmlHelper和UrlHelper
- Jeesit下面form:select的二级联动
- Mblock的扩展模块的编写
- gateway 动态路由
- (实测)天猫商城抢购茅台脚本
- CSS a:hover
- 内核问题解决方法记录
- 他山之石 | 微信搜一搜中的智能问答技术
热门文章
- R语言ggplot2可视化:可视化饼图分面图并在图中添加数据标签
- R语言Kaplan-Meier绘制生存分析、Log-rank假设检验、Cox回归曲线实战案例:恶性黑色素瘤的术后数据生存分析
- R语言rpartb包树回归模型构建:基于乳腺癌(breast cancer)数据集
- R可视化包ggplot2更改背景色实战
- SPAdes混合组装二代、三代测序数据
- 计算机生物学杂志,基因组学与应用生物学杂志
- 人群密度估计--Spatiotemporal Modeling for Crowd Counting in Videos
- 语义分割--Understanding Convolution for Semantic Segmentation
- 批量残差网络-Aggregated Residual Transformations for Deep Neural Networks
- HashTable 使用例子