该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

前几天在微博上看到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点游戏程序相关推荐

  1. 如何用C语言编写暴力破解压缩文件解压密码的程序

    由于有一个重要的Rar文件,极需解开,首先试用了ARPC,但是解压的速度极慢,每秒只有30个左右,所以断了穷举破解的念头,却仍不死心,因为我从不崇尚穷举破解的方法,除非每秒可以跑几千万次的,我或许可以 ...

  2. c语言while将字符循环,C语言 while语句的用法详解

    在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何"拐弯抹角": 选择结构:也叫分支结构,重点要掌握 if else.switch 以及条件运算符: 循环结 ...

  3. m_Orchestrate learning system---十三、thinkphp的验证器支持多语言么

    m_Orchestrate learning system---十三.thinkphp的验证器支持多语言么 一.总结 一句话总结:支持,不仅验证器支持,其它的插件应该都支持 不仅thinkphp支持多 ...

  4. 大二c语言期末考试题库及详解答案,大学C语言期末考试练习题(带详解答案)...

    <大学C语言期末考试练习题(带详解答案)>由会员分享,可在线阅读,更多相关<大学C语言期末考试练习题(带详解答案)(55页珍藏版)>请在金锄头文库上搜索. 1.一. 单项选择题 ...

  5. 基于C语言的JPEG编码代码详解

    一.基于C语言的JPEG编码代码详解 #include <stdio.h> #include <stdlib.h> #include <string.h>#prag ...

  6. R语言机器学习之caret包详解(一)

    R语言机器学习caret包trainControl函数详解 R语言机器学习之caret包详解(一) 简介 数据预处理 各种数据变换 近零方差变量 创建虚拟变量 重抽样技术 k折交叉验证 留一交叉验证 ...

  7. 验证手机号的c语言程序,手机号码正则表达式

    更新日期:2019-12-24 注意更新日期,开发者要注意以后号码段更新 更新日志: 时间:2019-12-24 工信部核发190.192.196.197号段 中国广电第一次有了自己的号码段 开发项目 ...

  8. C语言 中的 数据类型 超详解

    C语言 中的 数据类型 超详解 一.整型(int.short.long.long long) 1.有符号整型 有符号整型的数据类型通常包括 int.short.long.long long 四种,因为 ...

  9. R语言可视化绘图基础知识详解

    R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...

  10. php函数find的用法,c语言find函数的用法详解

    c语言find函数的用法详解 C语言之find()函数 find函数用于查找数组中的某一个指定元素的位置. 比如:有一个数组[0, 0, 5, 4, 4]: 问:元素5的在什么位置,find函数 返回 ...

最新文章

  1. php route取值,route命令详解
  2. python自关联_Django之Mode的外键自关联和引用未定义的Model方法
  3. windows下 , py运用了 进程池, 将py打包成exe,出现错误的 解决思路之一
  4. 求首位相连一维数组最大子数组的和
  5. 那个linux系统自带应用商店,如何在荣耀笔记本(Linux版)中拥有deepin应用商店?...
  6. [转载]Hamachi 安装过程
  7. 如何在 GitHub 上大显身手?
  8. 解决jquery组件样式冲突 jPicker实例
  9. CAD绘图工具AutoCAD 2022 for Mac
  10. 我的第一次--我与51CTO的故事
  11. 【转】Android业务组件化之URL Scheme使用
  12. 2021双非考研408上岸南京大学计算机经验帖
  13. 智能配电房综合监控系统的探讨
  14. 做sxy官网的一点经验
  15. Cesium.js解析第一篇 Cartesian3
  16. 【区块链】使用 Fabric 测试网络
  17. SX126x-数字接口SPI和控制功能
  18. 微积分与概率论的基础知识
  19. 二元函数matlab画图_噶米matlab实验五二元函数的图形.docx
  20. pycharm运行os.system出现�����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���

热门文章

  1. 漫画:Java如何实现热更新?
  2. Redis持久化的几种方式——深入解析RDB
  3. Android实现点击两次返回键退出
  4. 宝塔LNMP使用步骤nginx+php 7.2
  5. Ansible无敌详细入门教程
  6. docker privileged作用_docker总结
  7. 在scrapy中parse函数里面xpath的内容打印不出来_如何正确的使用Scrapy ?
  8. linux cmake变量,linux – CMake错误:此项目中使用了以下变量,但它们设置为NOTFOUND...
  9. 腾讯视频视频下载_如何下载腾讯视频
  10. Logback介绍及入门