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点游戏程序相关推荐
- 使用c语言测试大端和小端,C语言*符号使用及大端法小端法测试
工具:Microsoft Visual C++ 6.0 例子: int a = 1; int* b = &a; C语言规定a表示存储单元中的数据,&a表示存储单元的地址,b存储的就是a ...
- c语言u64数据类型打印,小谈C语言中常见数据类型在32及64位机上的使用
1.概述 C语言有一些非常基本的数据类型,正是这些基本类型让我们可以延伸了无限的用户自定义类型,本文主要介绍了 int, size_t, time_t, long, long long int 等基本 ...
- 【嵌入式基础小知识】详解单片机中的程序和变量是如何分布的以及一些注意事项
"我固然不是了不起的跑步者,而是处于极为平凡的--毋宁说是凡庸的--水准.然而这个问题根本不重要.我超越了昨天的自己,哪怕只是那么一丁点儿,才更为重要.在长跑中,如果说有什么必须战胜的对手, ...
- C语言求1元2次方程的解,一元二次方程求解程序完整代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面的代码是我刚才无聊写的.对于简单的一元多次方程的迭代 #include #include #include #define MAXTIMES 5 ty ...
- 《Android游戏开发详解》一3.6 图形
本节书摘来异步社区<Android游戏开发详解>一书中的第3章,第3.6节,作者: [美]Jonathan S. Harbour 译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区 ...
- 《Android游戏开发详解》——第3章,第3.6节图形
本节书摘来自异步社区<Android游戏开发详解>一书中的第3章,第3.6节图形,作者 [美]Jonathan S. Harbour,更多章节内容可以访问云栖社区"异步社区&qu ...
- 24点小游戏(C语言实现)
一.题目分析 题目要求: 24点小游戏是经典的纸牌益智游戏. 常见游戏规则如下: 从扑克牌中任意取出四张牌,对牌面上的四个数字使用任意的加减乘除(每张牌牌面上的数字都只能使用一次),第一个能得到24者 ...
- c语言纸牌小游戏制作,C语言实现纸牌24点小游戏
本文实例为大家分享了C语言纸牌24点小游戏的具体实现代码,供大家参考,具体内容如下 此程序参考C语言实现经典24点纸牌益智游戏,并做出一些改进. 一.题目要求: 24点游戏规则: 从扑克中每次取出4张 ...
- c语言算24点答案,C语言-纸牌计算24点小游戏
C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...
- C语言-纸牌计算24点小游戏
C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...
最新文章
- 找不到完美数据科学家?你还可以组建一支数据科学梦之队
- 空间映射网络--Spatial Transformer Networks
- aptana手动配置python环境_Aptana Studio 3中通过Auto Config配置PyDev中Python出错
- [征询意见][投票]先集中力量做好一个开源项目
- python为什么那么难学_Python入门很难吗? 为什么越来越多的人都学Python?
- .com域名一定要实名认证吗
- Spring-依赖注入
- case when then else多个条件_CentOS「linux」学习笔记24:if和case多个条件判断
- 终于不会看不懂LSTM了
- Linguistic Data Consortium (LDC)
- 【UVa】1600 Patrol Robot(dfs)
- Google 要放弃 Android 了?
- Resharper F12下载dll源码
- IDEIDEA 如何搭建maven 安装、下载、配置A 如何搭建maven 安装、下载、配置
- thinkphp 下实现繁简体汉字转换
- 战旗三国一直显示连接服务器,原来战棋三国2可以这么玩,新手玩家可别错过了!...
- 第三部分 :简单句的补充(复合句/定语从句)
- 文件服务器和nas区别,nas和ftp服务器的区别
- 股权-公司治理的至高点,如何合理运用股权(融人、融资、融市场) 张明若
- css固定图片大小 vue_css3 实现图片等比例放大与缩小
热门文章
- IntelliJ IDEA创建JavaWeb项目
- 数学:给你长度1~n的线段 组成三角形最长边长度不超过你的n三角形有多少个
- 为什么visual的联机浏览功能不能用_Minecraft非正版联机教程
- (转)Dinkelbach算法(01二分规划更优解法)
- mysql 关闭严格_mysql关闭严格模式
- 《C++(三)--多线程》
- java编辑遗忘曲线代码_用jsp写出记忆曲线的表格(用学习新概念英语做例子)
- TCP端口扫描[Python3.5]
- java 接收soap_2.技巧: 用 JAXM 发送和接收 SOAP 消息—Java API 使许多手工生成和发送消息方面必需的步骤自动化...
- Lattice - 规划模块 1.采样轨迹 2.计算轨迹cost 3 循环检测筛选轨迹