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语言编写暴力破解压缩文件解压密码的程序
由于有一个重要的Rar文件,极需解开,首先试用了ARPC,但是解压的速度极慢,每秒只有30个左右,所以断了穷举破解的念头,却仍不死心,因为我从不崇尚穷举破解的方法,除非每秒可以跑几千万次的,我或许可以 ...
- python编写游戏怎么打包——详解python+pygame游戏开发之使用Py2exe打包游戏为exe文件
python编写游戏怎么打包 1.简介 2.软件准备 3.打包流程 最近在用python+pygame 开发游戏,写完以后在分享给朋友玩的时候遇到了很大的问题,只有搭建了环境才能运行python脚本. ...
- 【图文详解】第一个Java程序HelloWorld详解,写Java程序需要注意什么
1.先写第一个HelloWorld程序,输出语句 "HelloWorld!!! ",并编译运行. public class HelloWorld{ //声明定义一个类,类型为共有的 ...
- 高斯消元法解方程matlab程序,用高斯消元法解线性方程组 的MATLAB程序
%function [RA,RB,n,X]=gaus(A,b) A=[1 2 3; 1 4 9; 1 8 27]; b=[ 1 2 3 ]; B=[A b]; n=length(b); RA=rank ...
- f2 柱状图滚动 钉钉小程序_详解钉钉小程序组件之自定义模态框(弹窗封装实现)...
背景 开发钉钉小程序中需要用到模态框 文档里也没有 自己搞一个- 效果大概长这个样 点击指定按钮,弹出模态框,里面的内容可以自定义,可以是简单的文字提示,也可以输入框等复杂布局.操作完点击取消或确定关 ...
- c语言while将字符循环,C语言 while语句的用法详解
在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何"拐弯抹角": 选择结构:也叫分支结构,重点要掌握 if else.switch 以及条件运算符: 循环结 ...
- Linux Bash命令关于程序调试详解
转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...
- 算24游戏c语言程序报告,c程序课程设计报告(24点游戏).doc
c程序课程设计报告(24点游戏) 课程设计报告 课程名称: C语言程序设计 课题名称: 二十四点速算王游戏 专 业: 通信工程专业 班 级: 12级通信工程1班 学 号: 2012167144 姓 名 ...
- c语言字符游动程序,C语言实现扫雷小游戏详解
本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 一.实现功能 首先显示一个小菜单,选择是否玩游戏.当用户选择退出时,程序运行结束,当用户选择玩游戏时,将提示用户输入扫雷位 ...
最新文章
- 自定义注解-aop实现日志记录
- hadoop运维必备命令
- pandas如何保存在excel里面_【精选】Pandas一站式教程!
- 计算未来轻沙龙 | AI=知识+推理,知识工程与数据管理专场来了!
- 无法在 Web 服务器上启动调试。调试失败,因为没有启用集成 Windows 身份验证。请...
- 「数据ETL」从数据民工到数据白领蜕变之旅(六)-将Python的能力嫁接到SSIS中...
- Array的用法总结-swift
- JS之字符串分割方法split
- 你的搜索其实很糟糕?
- SSM框架笔记13:Spring MVC基础
- pip 20.3 发布:更改默认依赖解析器、即将停止支持 Python 2.7
- 《统计学习方法》——提升算法
- Spatial-Temporal时间序列预测建模方法汇总
- 基于matlab使用Windrose函数绘制风矢量分布图(风玫瑰图)
- zlib库介绍四:zlib算法(LZ77、LZ78、霍夫曼编码、滑动窗口、Rabin-Karp算法、哈希链、I/O缓冲区)
- 禁用计算机硬盘,怎么禁止电脑开机就自动检测硬盘
- ESP32-C3入门教程 基础篇(八、NVS — 非易失性存储库的使用)
- 【计网】(三)超网、路由、NAT协议
- Linux 下怎么查看服务器的cpu和内存的硬件信息
- 安装Tomcat服务器
热门文章
- 给windows 98 客户虚拟机安装VMWare tools
- 2020年十月下旬,再次更新了自己的linkedin工作经历
- Angular ERROR NullInjectorError: R3InjectorError(AppModule)的错误分析
- SAP CRM Fiori应用My Lead的常见问题和解答
- SAP Loyalty management模块演示场景的测试数据
- 阮一峰react demo代码研究的学习笔记 - React.createElement
- SAP UI5 getHeaderFooterOptions
- How is JerryMaster.view.xml being loaded in WebIDE local test environment
- 使用代码创建SAP Sales area
- Application log save debug - how log data is persisted to database table