从字符串解方程得到 C 的结果

2024-04-10

我想知道是否有人有关于如何做一些听起来很简单但在尝试编程时看起来并不像的事情的信息或经验。 这个想法是:给出一个包含方程的字符串,例如:“2*x = 10”(这很简单,但它可能会变得非常复杂,例如 sqrt(54)*35=x^2; 等等on....),程序将返回 x = 5,并可能给出他如何到达那里的日志。

这可行吗?如果是这样,有人有线索吗?有关信息,请访问此网站(http://www.numberempire.com/equationsolver.php http://www.numberempire.com/equationsolver.php)它在 PHP 中做同样的事情,但不是开源的。

谢谢你的帮助 !


这就是所谓的“解析”,尽管计算机科学已经解决了这个问题,但在你彻底理解它之前,它一点也不简单。有一个完整的计算机科学学科描述了如何解决这个问题。在 C 中,您必须定义输入的语法(可能包含优先级规则),然后执行词法分析根据您的输入,然后parse结果并最终评估你的解析树。

然而,在 Ruby 这样的语言中,因为您对字符串操作有如此彻底的支持,并且因为您有如此强大的运行时能力,所以您可以用一行代码解决您的问题,如下所示:

puts(eval($_)) while gets

是的,这将涵盖比您要求的更多的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从字符串解方程得到 C 的结果 的相关文章

  • 调用许多网络服务的最佳方式?

    我有 30 家子公司 每家都实施了他们的 Web 服务 使用不同的技术 我需要实现一个Web服务来聚合它们 例如 所有子公司的Web服务都有一个名为的Web方法GetUserPoint int nationalCode 我需要实现我的网络服
  • 从实体获取单列

    如何从查询中获取单个列而不是整个对象 我可以这样做来获取整个对象 但我想要的只是名称 IList
  • 在 Web 浏览器中禁用 F5 [重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器的后退按钮 https stackoverflow com questions 961188 disable browsers back button 如何禁用浏览器上的 F5 刷新 htt
  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • 从另一个 FORM 中取回隐藏的 FORM

    我有两种形式Form1 and Form2 我正在打开Form2 from Form1 on button Click Form2 obj2 new Form2 this Visible false obj2 Show 然后我想回来Form
  • libtool 在 Ubuntu 13.04 上构建 thrift 0.9.1 时出错

    在 Ubuntu 13 04 上构建 thrift 0 9 1 支持 C C java C perl python 时出现此错误 configure 不带任何选项运行 make 不带任何选项运行 Making all in test mak
  • 具有多个谓词的 C++11 算法

    功能如std find if来自algorithmheader 确实很有用 但对我来说 一个严重的限制是我只能为每次调用使用 1 个谓词count if 例如给定一个像这样的容器std vector我想同时应用相同的迭代find if 多个
  • 如何查明 .exe 是否正在 C++ 中运行?

    给定进程名称 例如 程序 exe C 标准库没有这样的支持 您需要一个操作系统 API 来执行此操作 如果这是 Windows 那么您将使用 CreateToolhelp32Snapshot 然后使用 Process32First 和 Pr
  • 虚拟并行端口模拟器

    在我的计算机网络课程中 我们应该通过使用本机寄存器 例如使用 outportb 等命令 来学习并行端口编程 我没有并行端口 因为我住在 2011 年 但想练习这些程序 我使用 dosbox 安装了旧的 Turboc 3 IDE 有没有一个程
  • 提升mapped_file_source、对齐方式和页面大小

    我正在尝试在性能很重要的上下文中解析一些大小高达几百兆字节的文本文件 因此我使用 boostmapped file source 解析器期望源以空字节终止 因此我想检查文件大小是否是页面大小的精确倍数 如果是 则使用较慢的非内存映射方法 我
  • 在 C 语言中替换宏内的宏

    我正在尝试使代码部分可重用 我下面的评论片段没有达到我想要的效果 define NAME ABC define LOG SIZE NAME LEN 我想LOG SIZE决心ABC LEN 我尝试过使用 但没能让它发挥作用 LOG SIZE在
  • 如何使用 C# 查询远程 MS ACCESS .mdb 数据库

    我正在尝试使用 C 查询 mote MS ACCESS 数据库 mdb 文件 将文件复制到本地计算机时可以成功查询它 我只想远程放置文件 所以我的客户端程序不包含原始数据 static string m path http www xyz
  • MSChart 控件中的自定义 X/Y 网格线

    我有一个带有简单 2D 折线图的 C Windows 窗体 我想向其中添加自定义 X 或 Y 轴标记 并绘制自定义网格线 例如 以突出显示的颜色 虚线 我查看了 customLabels 属性 但这似乎覆盖了我仍然想显示的默认网格 这是为了
  • C 与 C++ 中的 JNI 调用不同?

    所以我有以下使用 Java 本机接口的 C 代码 但是我想将其转换为 C 但不知道如何转换 include
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 如何测试某些代码在 C++ 中无法编译? [复制]

    这个问题在这里已经有答案了 可能的重复 单元测试编译时错误 https stackoverflow com questions 605915 unit test compile time error 我想知道是否可以编写一种单元测试来验证给
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include
  • MSVC编译器下使用最大成员初始化联合

    我正在尝试初始化一个LARGE INTEGER在 C 库中为 0 确切地说是 C 03 以前 初始化是 static LARGE INTEGER freq 0 在 MinGW 下它产生了一个警告 缺少成员 LARGE INTEGER Hig
  • Emacs C++,打开相应的头文件

    我是 emacs 新手 我想知道 是否有在头文件 源文件和相应的源文件 头文件之间切换的快捷方式 是否有像通用 emacs 参考卡那样的参考卡 Thanks There s ff find other file 您可以使用以下方法将其绑定到

随机推荐

  • 删除重复的SQL记录

    删除表中重复名称的记录的最简单方法是什么 我遇到的答案非常令人困惑 Related 从表中删除重复记录 https stackoverflow com questions 529098 removing duplicate rows fro
  • 使用 Maven 程序集插件创建 EAR [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我尝试使用
  • R Shiny - 如何使用第 2 列中的嵌套行生成此布局

    我想在 Fluid9 下有两行 但这不起作用 第一行应该有 3 个图 而第二行应该只有 1 个图 跨越第一行 3 个图的宽度 9 我缺少什么 我正在尝试得到类似的东西this http shinyprognostics de pemDemo
  • startActivityForResult() 已弃用用于 google 登录

    我想让谷歌登录我的应用程序 但我收到此错误 startActivityForResult deprecated in java 这是我的代码 val signInIntent googleSignInClient signInIntent
  • R 函数胶水与粘贴

    我最近发现了胶水包 经过一番研究后我不明白为什么glue glue应该优先于paste 根据这个网站 https cran r project org web packages glue vignettes speed html 胶水速度慢
  • Angular 2 相当于 ng-bind-html、$sce.trustAsHTML() 和 $compile?

    在 Angular 1 x 中 我们可以使用 HTML 标签实时插入 HTMLng bind html 结合JavaScript调用 sce trustAsHTML 这让我们完成了 80 的工作 但在使用 Angular 标签时不起作用 例
  • Xcode 中的构建和存档有什么区别

    我想构建一个框架 当我使用命令行构建和归档来编译项目时 结果是它们的大小不同 构建 比存档大得多 why 我使用的命令 xcodebuild target xx configuration Release clean build UFW A
  • 如何在 Perl 6 中追加到文件?

    我正在尝试这个和其他一些事情 但它每次都会截断文件 my file primes txt sub MAIN Int D low Int D high where gt low unless my fh open file w append
  • AngularJS $http.POST 方法 405 错误

    在 http post 方法中我遇到 405 问题 我们对 POST 和 GET 方法使用单一服务 REST 如果 url 具有 localhost 则它正在工作 urlAddScenario 是 localhost Service svc
  • 如何禁用全屏 HTML5 视频的默认控件?

    我有一个指定宽度和高度的视频 双击它可以使用全屏显示videoElement webkitRequestFullScreen 默认情况下 视频没有任何控件 但由于某种原因 在全屏显示时 会弹出默认控件 这就是我正在做的
  • 如何在 Pandas DataFrame 中将 替换为 NaN?

    我的 DataFrame 中的某些列有以下实例
  • Objective C - 在私有方法中对核心功能进行单元测试?

    我经历过很多情况 我的核心逻辑都在私有方法中 您将如何进行单元测试 是否有任何类型的编译时操作来忽略未知 私有方法的编译错误 我知道对于代码的第二部分 我可以使用 PerformSelector 但这是一个合理的解决方案吗 例如 self
  • 签署应用程序,但未在 Android 市场上发布

    Android 系统有一个名为 未知来源 的标志 允许其安装来自非市场来源的应用程序 如果我按照 Android 开发人员网站上的说明签署我的应用程序 即使用使用我从 google 获得的私钥创建的证书 并决定不在 Android 市场上发
  • CryptoJS.enc.Base64.stringify() 和普通 Base64 加密的区别

    我正在尝试将以下哈希加密为 Base64 6bb984727b8c8c8017207e54b63976dc42ea9d24ad33bd5feeaa66869b650096 需要访问网站的API 该网站显示了一个 JavaScript 示例脚
  • ES6中使用map函数更新对象的属性值

    我正在尝试用 ES6 编写这个代码 以下是我想要实现的目标 假设我有一个名为的对象数组schools let schools name YorkTown country Spain name Stanford country USA nam
  • Chrome 扩展内容脚本能否对本身属于 Chrome 扩展的一部分的 html 文件发出 jQuery AJAX 请求?

    我正在开发 Chrome 扩展程序内容脚本 https developer chrome com extensions content scripts这将在特定页面上向页面注入附加内容 以向现有站点添加功能 我的 Chrome 扩展程序中有
  • Swift 4 中键值编码的优势

    我只是想知道 Swift 4 中键值编码的好处 因为我很了解键值编码 保留对属性的引用 而不实际访问属性所持有的基础数据 例如 struct Student var name String var rollNo String let stu
  • 从 R 中单列中的所有数据中删除前缀

    我会有一个列 其中的数据如下所示 M999 00001 M999 00002 有没有办法删除R中列中的所有 M 我们可以用sub df1 1 lt sub df1 1 Or use substring substring df1 1 2 d
  • 将多个字符列更改为日期

    我有多个字符列 大约 20 个 我想将它们全部更改为日期格式并使用 r 删除时间 我试过了loops mutate and apply 这是仅使用两列的一些示例数据 col1 c 2017 04 01 23 00 00 2017 03 03
  • 从字符串解方程得到 C 的结果

    我想知道是否有人有关于如何做一些听起来很简单但在尝试编程时看起来并不像的事情的信息或经验 这个想法是 给出一个包含方程的字符串 例如 2 x 10 这很简单 但它可能会变得非常复杂 例如 sqrt 54 35 x 2 等等on 程序将返回