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

前几天在微博上看到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. 计算机小游戏有哪些,详解电脑小游戏有哪些

    随着电脑的普及,很多朋友在无聊的时候都会玩电脑游戏来解闷.如果我们电脑没有网络了怎么办呢?上有政策,下有对策,下载一些单机小游戏就可以啦,下面,我就给大家介绍几款好玩的小游戏 电脑单机游戏是相对于网络 ...

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

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

  3. python编写游戏怎么打包——详解python+pygame游戏开发之使用Py2exe打包游戏为exe文件

    python编写游戏怎么打包 1.简介 2.软件准备 3.打包流程 最近在用python+pygame 开发游戏,写完以后在分享给朋友玩的时候遇到了很大的问题,只有搭建了环境才能运行python脚本. ...

  4. 【图文详解】第一个Java程序HelloWorld详解,写Java程序需要注意什么

    1.先写第一个HelloWorld程序,输出语句 "HelloWorld!!! ",并编译运行. public class HelloWorld{ //声明定义一个类,类型为共有的 ...

  5. 高斯消元法解方程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 ...

  6. f2 柱状图滚动 钉钉小程序_详解钉钉小程序组件之自定义模态框(弹窗封装实现)...

    背景 开发钉钉小程序中需要用到模态框 文档里也没有 自己搞一个- 效果大概长这个样 点击指定按钮,弹出模态框,里面的内容可以自定义,可以是简单的文字提示,也可以输入框等复杂布局.操作完点击取消或确定关 ...

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

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

  8. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  9. 算24游戏c语言程序报告,c程序课程设计报告(24点游戏).doc

    c程序课程设计报告(24点游戏) 课程设计报告 课程名称: C语言程序设计 课题名称: 二十四点速算王游戏 专 业: 通信工程专业 班 级: 12级通信工程1班 学 号: 2012167144 姓 名 ...

  10. c语言字符游动程序,C语言实现扫雷小游戏详解

    本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 一.实现功能 首先显示一个小菜单,选择是否玩游戏.当用户选择退出时,程序运行结束,当用户选择玩游戏时,将提示用户输入扫雷位 ...

最新文章

  1. 自定义注解-aop实现日志记录
  2. hadoop运维必备命令
  3. pandas如何保存在excel里面_【精选】Pandas一站式教程!
  4. 计算未来轻沙龙 | AI=知识+推理,知识工程与数据管理专场来了!
  5. 无法在 Web 服务器上启动调试。调试失败,因为没有启用集成 Windows 身份验证。请...
  6. 「数据ETL」从数据民工到数据白领蜕变之旅(六)-将Python的能力嫁接到SSIS中...
  7. Array的用法总结-swift
  8. JS之字符串分割方法split
  9. 你的搜索其实很糟糕?
  10. SSM框架笔记13:Spring MVC基础
  11. pip 20.3 发布:更改默认依赖解析器、即将停止支持 Python 2.7
  12. 《统计学习方法》——提升算法
  13. Spatial-Temporal时间序列预测建模方法汇总
  14. 基于matlab使用Windrose函数绘制风矢量分布图(风玫瑰图)
  15. zlib库介绍四:zlib算法(LZ77、LZ78、霍夫曼编码、滑动窗口、Rabin-Karp算法、哈希链、I/O缓冲区)
  16. 禁用计算机硬盘,怎么禁止电脑开机就自动检测硬盘
  17. ESP32-C3入门教程 基础篇(八、NVS — 非易失性存储库的使用)
  18. 【计网】(三)超网、路由、NAT协议
  19. Linux 下怎么查看服务器的cpu和内存的硬件信息
  20. 安装Tomcat服务器

热门文章

  1. 给windows 98 客户虚拟机安装VMWare tools
  2. 2020年十月下旬,再次更新了自己的linkedin工作经历
  3. Angular ERROR NullInjectorError: R3InjectorError(AppModule)的错误分析
  4. SAP CRM Fiori应用My Lead的常见问题和解答
  5. SAP Loyalty management模块演示场景的测试数据
  6. 阮一峰react demo代码研究的学习笔记 - React.createElement
  7. SAP UI5 getHeaderFooterOptions
  8. How is JerryMaster.view.xml being loaded in WebIDE local test environment
  9. 使用代码创建SAP Sales area
  10. Application log save debug - how log data is persisted to database table