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

前几天在微博上看到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语言简单计算器报告5000字,c语言简单计算器报告.docx

    c语言简单计算器报告 xxxx大学信息科学与工程学院 课程设计报告 班级:姓名:实验项目名称: 实验室(中心):指导教师: 实验完成时间: 通信工程一班 xxx 简易计算器信息科学与工程学院信息技术实 ...

  2. 曼彻斯特编码 c语言,简单的曼彻斯特编码的C语言实现

    使用C语言,实现基本的曼彻斯特编码 简单的曼彻斯特编码的C语言实现 曼彻斯特编码是减小信号交流分量,实现固定信号占空比的基本方法. 用C语言实现如下: #include #define uint8_t ...

  3. c语言简单的atm机编程,C语言ATM机的简单模拟.doc

    PAGE PAGE 10 程序设计实习 -ATM机的简单模拟 院系:信息科学与技术学院 专业:计算机科学与技术 班级:A0611 学号:33号 姓名:石晓珍 ATM机的简单模拟 程序的具体功能: 用C ...

  4. C语言简单好玩编码,TZC1464:C语言实验题——简单编码

    描述: 将一串文本译成密码,密码的规律是:将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下: 0-->9 1-->8 2-->7 3-->6 ...

  5. c语言简单整数计算器代码,用c语言实现一个简单的计算器(数据结构)

    概要:主要以c语言为例对数据结构中写一个简易的计算器(计算整数间加减乘除括号运算)的算法进行大致讲述,细说如何去实现符号优先级的比较的函数实现. 注:由于编辑器缘故,本文内我以小写x代替了*作为乘号 ...

  6. C语言求1元2次方程的解,一元二次方程求解程序完整代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面的代码是我刚才无聊写的.对于简单的一元多次方程的迭代 #include #include #include #define MAXTIMES 5 ty ...

  7. C 语言还值得学习吗?C 语言会过时吗?C 语言解惑

    C 语言还值得学吗? 答案是肯定的. 第一,学习C有助于更好的理解C++,Java,C#,Perl以及其他基于C的特性的语言.第一开始就学习其他语言的程序员往往不能很好的掌握继承自C语言的基本特性. ...

  8. 《Android游戏开发详解》一3.6 图形

    本节书摘来异步社区<Android游戏开发详解>一书中的第3章,第3.6节,作者: [美]Jonathan S. Harbour 译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区 ...

  9. 《Android游戏开发详解》——第3章,第3.6节图形

    本节书摘来自异步社区<Android游戏开发详解>一书中的第3章,第3.6节图形,作者 [美]Jonathan S. Harbour,更多章节内容可以访问云栖社区"异步社区&qu ...

  10. C语言简单的键盘玩扫雷小游戏(完结)

    1:这次我们会将前面的代码进行整合,和整理,最终使我们的程序可以有效的运行起来. [1]初始化函数. void GameInit() {     //随机数种子     srand((unsigned ...

最新文章

  1. 实践教程 | 浅谈 PyTorch 中的 tensor 及使用
  2. 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线、并将所有列居中,包括包含行标签的第一列)
  3. 模型的第一层:详解torch.nn.Embedding和torch.nn.Linear
  4. Clone Detective java home
  5. 我的爸爸是xiang目经理.....
  6. 怎么通俗的理解Netty呢?
  7. Java锁 优先级_详解Java的线程的优先级以及死锁
  8. 《数据库原理与应用》(第三版) 第8章 关系数据库理论 基础 习题参考答案
  9. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
  10. Sring类型数组赋值
  11. Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解
  12. sqlite C#
  13. 【php】 布尔值判断
  14. Thinkpad E431 解决无线网卡无法开启
  15. us、ms、s 单位转换,不会的都是大傻子!!!
  16. [PTA练习] 愿天下有情人都是失散多年的兄妹(25分)
  17. 大学,不是学习的终点,而是起点。
  18. 生物医学英语翻译,翻译公司的标准有哪些
  19. 三相同步电机怎么接线图_三相异步电动机接线图
  20. 计算机毕设(附源码)JAVA-SSM流浪动物救助系统

热门文章

  1. 我是新人我最强----团队新手培训计划展开
  2. javax.servlet.http.HttpServletRequest接口(HTTP版本)
  3. 云计算与分布式系统课程学习笔记(一)——云计算简介
  4. MapReduce词频统计
  5. statement的增删改查和动态的增删改查
  6. loadrunner发送json_Loadrunner接口测试-发送JSON格式的请求
  7. png文件合并_png格式图片和jpg格式图片有什么区别?
  8. python 调用c++库接口出错
  9. javaee实验报告心得_JavaEE实验报告.doc
  10. mysql授予权限和撤销权限的关系_MySQL数据库常用的授予权限和撤销权限的命令讲解...