level 7
自己想写一个计算器,可以加减乘除混合运算的。但是卡在了括号中算式优先运算和运算结果处理(和括号外的算式进行混合运算)。百思不得其解啊!求大神指点
2016年08月22日 03点08分
1
level 12
要构建语法树,或者用优先级实现(括号里面的符号增加优先级,优先级从大到小求值)
2016年08月22日 03点08分
2
我把优先级分为4级,没想到可以把优先级向上累加。谢了
2016年08月22日 04点08分
level 1
据我所知,其中一种算法是识别优先级,然后利用堆栈依次计算,其实就是逆波兰(RPN)的搞法。
2016年08月22日 04点08分
3
level 1
另外,如果要自己编计算器,我曾经的做法是将字符串算式从左向右找到第一个")",然后将与")"配对的"("之间的算式字符串提取出来,识别运算,运算完成后,将这对括号和其之间的字符串删除,然后在这个地方插入代表结果变量的特定字符串。以此递归,直到将所有括号全部消元……
2016年08月22日 04点08分
4