用c语言编写24点游戏,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语言编写24点游戏,C语言解24点游戏程序相关推荐
- 三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰
三菱R系列PLC程序 全部采用ST语言编写,内部使用函数块和结构体,程序思路清晰,简洁明了. 通过结构体和函数块的使用,可以使您在程序编写水平得到很大提高. ST语言是PLC后续的主流语言,是日后编程 ...
- c语言如何自定义运算公式,怎样用C语言编写数学公式 如何用C语言输入数学公式...
导航:网站首页 > 怎样用C语言编写数学公式 如何用C语言输入数学公式 怎样用C语言编写数学公式 如何用C语言输入数学公式 相关问题: 匿名网友: 1.C语言有现场的常用数学函数,所在函数库为m ...
- c语言编写的商品管理程序,C语言编写的商品管理系统
C语言编写的商品管理系统 商品的增删改查 #include #include #include #define K 5 int m=2; //商品种数 /*定义商品结构体*/ struct goods ...
- C语言编写Python包,使用C语言编写Python扩展1——Hello World
能够使用C语言编写扩展是Python一大卖点吧,这可以将一些关键的代码使用C来写以提升程序的性能.本文是参考了Python的官方文档整理而来的,同时结合了Python2跟Python3.按照惯例现在先 ...
- 用c语言编写棋盘以及光标,C语言实习指导书.doc
上海工程技术大学<高级语言程序设计>实习指导书 <高级语言程序设计实习> 实 习 指 导 书 高级语言程序设计课题组编 管理学院 2013年8月 目 录 TOC \o &quo ...
- 用c语言编写两整数乘积,c语言两个数相乘求积 c语言输入两个整数求乘积
C语言中求两数相乘的程序? 思路:double类型的范围: -1.7*10(-308)-1.7*10(308),如果两个数的乘积不超过这样的精度,可以直接使用*符号进行运算. 参考代码: #inclu ...
- c语言编写已知xyz,C语言编程基础——xyzGame小游戏合集
这是一个由纯C语言标准库写的控制台小游戏合集.包含井字棋.贪吃蛇.俄罗斯方块三款简单的小游戏. 初学者非常适合借助这类简单的小游戏锻炼编程技能,同时感受编程的乐趣
- c语言编写单词位置反转,C语言笔试题答案.docx
C语言笔试题答案 C语言笔试题答案简答题程序的局部变量存在于(栈)中,全局变量存在于(静态区)中,动态申请数据存在于(堆)中.设有以下说明和定义:typedef union {long i; int ...
- c语言编写自动生成密码,c语言密码生成.doc
c语言密码生成 计算机实习报告 一 题目分析 1 实验题目: 实现一个简单的密码生成系统.一个有效的密码由L(3<=L<=15)个小写字母(来自传统的拉丁字母集'a'...'z')组成,至 ...
- 用c语言编写黎曼积分计算pi,C语言实现黎曼和求定积分
本文实例为大家分享了C语言程序实现黎曼和求定积分,供大家参考,具体内容如下 通过黎曼和解定积分既是把在xy平面中函数曲线与x轴区间区域划分成多个矩形并求它们的面积之和,矩形数量越多,得出的面积越精确. ...
最新文章
- change python是什么意思_回溯是什么意思?
- 每日一皮:单身狗的悲哀...
- 智能仪表参数设定c语言,智能仪表控制系统:.doc
- go chan 缓存与阻塞
- Json字符串转对象,使用ObjectMapper方式报错:no String-argument constructor/factory method
- c 汇编语言用标准函数代替,C与汇编的接口技术
- windows下MBCS和UNICODE编码的转换
- 服务器显示配置命令,linux查看服务器配置命令
- 将jar包制作成docker镜像
- 数据库表在join时的三种方式
- 【BZOJ-14492895】球队收益球队预算 最小费用最大流
- EM算法原理The EM Algorithm
- 老祖宗留下来的千古绝句,读完终身受益
- 城域网过渡技术之NAT64+DNS64
- VIRTIO-BLK-DATA-PLANE的配置使用
- 谷歌浏览器安装Selenium IDE插件
- Windows Server - 如何查看机器的开机/关机时间
- 关于context:property-placeholder的一个有趣现象
- Ghost的使用方法
- 网易云音乐等级快速升级 - 每天打卡听歌300首
热门文章
- MySQL百万级高并发网站优化
- 【React性能优化】 redux优化
- CCAI 2017 | 日本理化学研究所杉山将:弱监督机器学习的研究进展
- 基于Office 365 无代码工作流分析-需求基本分析!
- 华为网络技术培训笔记之常用网络工具(一)
- 最终幻想13 公布发售日期和主题曲
- mysql 生产实践_京东容器化MySQL生产实践
- itextpdf将带复选框的html_HTML基础知识
- 多个物体轮廓c语言提取算法,C++ opencv-3.4.1 提取不规则物体的轮廓
- ant批量处理word文件内容_word多个文件批量替换内容