gpt4 book ai didi

c# - 如何计算带有 sin、cos 和其他函数的表达式?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:22:16 25 4
gpt4 key购买 nike

经过一些研究,我了解了后缀表示法,以及如何解析表达式。

我的代码转换为后缀表示法,然后使用基于堆栈的方法对其求值。例如:

Initial expression: 5 + 2^(4 - 1)
Postfix notation: 5 2 4 1 - ^ +
Result: 13

现在我正在尝试扩展这个程序,以便能够计算带有函数的表达式,例如 sin、cos、log,例如:5 + sin (2 + log (2))。我最初的想法是,在解析它之前,先找到这些函数,评估它们的结果,然后在字符串中替换它。但我认为这不是一个好主意......

那么我怎样才能有效地做到这一点呢?

这是一些用 C# 编写的代码,如果它有任何用处的话:http://pastebin.com/7wB81fyQ ,但我更喜欢一些伪代码,这样我可以更好地理解我在写什么……我不是那种只会复制和粘贴的人。

最佳答案

像对待任何其他运算符加大括号一样对待这些函数。先计算大括号中的内容,然后执行函数。

Initial: 3 * Sin(4 + 5)
Postfix: 4 5 + Sin 3 * (that's how I would enter it in a HP calculator)
or: 3 4 5 + Sin *

+ 消耗两个数字,Sin 只消耗一个数字。

关于c# - 如何计算带有 sin、cos 和其他函数的表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com