2 u010454267 u010454267 于 2017.01.03 15:11 提问

实现一个方法,输入为字符串,例如:“(1+2)*3-4”,返回计算式的结果。

假设输入一定正确,不存在错误输入的字符串,运算符号仅包括:+-*/(),所有运算仅在正整数范围内

5个回答

showbo
showbo   Ds   Rxr 2017.01.03 15:27
已采纳

eval('$rst=(1+2)*3-4;');
echo $rst;
hzg0313
hzg0313   2017.01.03 15:15

百度PHP eval php

u010454267
u010454267 主要我考虑括号优先级,用程序写暂时没有思路
12 个月之前 回复
bdmh
bdmh   Ds   Rxr 2017.01.03 15:13

如果想自己写,就看看后缀表达式

u010454267
u010454267 请教一下,如果用后缀表达式入栈后,怎么样求得公式计算的值,例如:9 3 1 - 3 * + 10 2 / +,我用后缀表达式写出了的顺序
12 个月之前 回复
starcat2002
starcat2002   2017.01.03 15:20

有个VC用的yacc,Sample中就有实现

u010454267
u010454267 嗯,我先考虑php怎么写
12 个月之前 回复
never_back_down
never_back_down   2017.01.03 17:49

过滤运算符,把数字按顺序存放起来,在根据匹配到的运算符对数字组进行先后顺序的运算得出结果

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
递归的使用:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n。将输出结果保留到至少8个小数点。
页面置换算法-FIFO——设置页框的大小为n个物理块,在输入一个内存块需求序列:如3 2 1 3 2 5 2 3 6 2 1 4 2之后,屏显每次页面调度结果,并屏显置换率。(队列实现版)
利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。
js正则表达式之$1$2$3$4$5$6$7$8$9属性,返回子匹配的结果
创建一个学生系统,实现一下功能; * 1:增加学生 * 2:显示学生 * 3:修改学生 * 4:删除学生 * 5:查找学生 * 6:退出程序 * 请输入选择(
在C#中解决动态计算表达式的问题(如字符串"Sin(1)+Cos(2)",执行并得出结果)
获取该字符串中,每一个字母出现的次数,要求打印结果是a(1)b(2)...
求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000
堆的数据结构能够使得堆顶总是维持最大(对于大根堆)或最小(对于小根堆),给定一个数组,对这个数组进行建堆,则平均复杂度是多少?如果只是用堆的 push 操作,则一个大根堆依次输入 3,7,2,4,1,5,8 后,得到的堆的结构示意图是下述图表中的哪个?
输入一个正整数X,在下面的等式1 2 3 4 5 6 7 8 9 = X,左边的数字之间添加+号或者-号,使得等式成立。