首 页 行业热点 新车 试驾评测 养车用车 车型库

怎么样将字符串进行数算

发布网友

我来回答

1个回答

热心网友

可以利用到栈数据结构来分析,也可以硬来,按人脑怎么算,你就怎么算。

如果你只是想解决这个问题,其中一个简单的思路是:

你要解决的问题实际是算出这样格式的字符串表达式的结果:
<number><op><number><op><number><op><number>...

<number>表示任意数.比如41,55,66234,-244

<op>表示任意运算符,比如+,-,*,/,%,^

把<op>按优先级排列。

先算完优先级高的,再算优先级低的。“5+2*3*1”的具体步骤是:

先算优先级高的2*3=6

用6替换掉2*3,

得到 "5+6*1"

再检测是否还有高优先级的*,有则
6*1=6,用"6"替换掉"6*1"

得到"5+6"

接着没有高优先级的运算符字符了,可以算低优先级字符
接着得到用"11"替换"5+6"。

如果你还需要其他更为精妙和复杂的方法,建议你分别搜索关键字:

“栈 表达式求值”
“编译原理 表达式求值”
“树 表达式求值”

因为表达式分析是一门复杂的技术,不仅仅是四则运算,还包括所有语言分析(包括伪自然语言分析)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com