【发布时间】:2019-03-16 09:51:24
【问题描述】:
假设输入如下,你如何计算?
所有问题的格式为 您还注意到所有数字都是正整数,并且只有 3 种类型的运算符:+、- 和 *。
示例输入 1
5 - 3
样本输出 1
2
示例输入 2
7 * 7
样本输出 2
49
示例输入 3
13 + 4
样本输出 3
17
【问题讨论】:
-
请以Tour 和How to ask 开头。您的问题不清楚,格式错误,并且缺乏展示您自己的努力。等待几秒钟,它将开始收集反对票...
-
更好,但第二段仍然有些混乱......
-
要解决你从输入中得到的“任意”表达式,你需要一个parser/interpreter。在你的情况下,一个非常简单的。这可以将您的输入转换为 -> RPN (reverse polish notation),这很容易使用堆栈来解决。
-
一个简单的解析器示例SO: How to rearrange a string equation? 和另一个不太简单的SO: Tiny Calculator。
-
我尝试了一些不同的谷歌研究。最有希望的是恕我直言google "simple expression parser in C++"。
标签: c++