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个左右,所以断了穷举破解的念头,却仍不死心,因为我从不崇尚穷举破解的方法,除非每秒可以跑几千万次的,我或许可以 ...
- c语言while将字符循环,C语言 while语句的用法详解
在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何"拐弯抹角": 选择结构:也叫分支结构,重点要掌握 if else.switch 以及条件运算符: 循环结 ...
- m_Orchestrate learning system---十三、thinkphp的验证器支持多语言么
m_Orchestrate learning system---十三.thinkphp的验证器支持多语言么 一.总结 一句话总结:支持,不仅验证器支持,其它的插件应该都支持 不仅thinkphp支持多 ...
- 大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...
<大学C语言期末考试练习题(带详解答案)>由会员分享,可在线阅读,更多相关<大学C语言期末考试练习题(带详解答案)(55页珍藏版)>请在金锄头文库上搜索. 1.一. 单项选择题 ...
- 基于C语言的JPEG编码代码详解
一.基于C语言的JPEG编码代码详解 #include <stdio.h> #include <stdlib.h> #include <string.h>#prag ...
- R语言机器学习之caret包详解(一)
R语言机器学习caret包trainControl函数详解 R语言机器学习之caret包详解(一) 简介 数据预处理 各种数据变换 近零方差变量 创建虚拟变量 重抽样技术 k折交叉验证 留一交叉验证 ...
- 验证手机号的c语言程序,手机号码正则表达式
更新日期:2019-12-24 注意更新日期,开发者要注意以后号码段更新 更新日志: 时间:2019-12-24 工信部核发190.192.196.197号段 中国广电第一次有了自己的号码段 开发项目 ...
- C语言 中的 数据类型 超详解
C语言 中的 数据类型 超详解 一.整型(int.short.long.long long) 1.有符号整型 有符号整型的数据类型通常包括 int.short.long.long long 四种,因为 ...
- R语言可视化绘图基础知识详解
R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...
- php函数find的用法,c语言find函数的用法详解
c语言find函数的用法详解 C语言之find()函数 find函数用于查找数组中的某一个指定元素的位置. 比如:有一个数组[0, 0, 5, 4, 4]: 问:元素5的在什么位置,find函数 返回 ...
最新文章
- php route取值,route命令详解
- python自关联_Django之Mode的外键自关联和引用未定义的Model方法
- windows下 , py运用了 进程池, 将py打包成exe,出现错误的 解决思路之一
- 求首位相连一维数组最大子数组的和
- 那个linux系统自带应用商店,如何在荣耀笔记本(Linux版)中拥有deepin应用商店?...
- [转载]Hamachi 安装过程
- 如何在 GitHub 上大显身手?
- 解决jquery组件样式冲突 jPicker实例
- CAD绘图工具AutoCAD 2022 for Mac
- 我的第一次--我与51CTO的故事
- 【转】Android业务组件化之URL Scheme使用
- 2021双非考研408上岸南京大学计算机经验帖
- 智能配电房综合监控系统的探讨
- 做sxy官网的一点经验
- Cesium.js解析第一篇 Cartesian3
- 【区块链】使用 Fabric 测试网络
- SX126x-数字接口SPI和控制功能
- 微积分与概率论的基础知识
- 二元函数matlab画图_噶米matlab实验五二元函数的图形.docx
- pycharm运行os.system出现�����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���
热门文章
- 漫画:Java如何实现热更新?
- Redis持久化的几种方式——深入解析RDB
- Android实现点击两次返回键退出
- 宝塔LNMP使用步骤nginx+php 7.2
- Ansible无敌详细入门教程
- docker privileged作用_docker总结
- 在scrapy中parse函数里面xpath的内容打印不出来_如何正确的使用Scrapy ?
- linux cmake变量,linux – CMake错误:此项目中使用了以下变量,但它们设置为NOTFOUND...
- 腾讯视频视频下载_如何下载腾讯视频
- Logback介绍及入门