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 主要我考虑括号优先级,用程序写暂时没有思路
一年多之前 回复
bdmh
bdmh   Ds   Rxr 2017.01.03 15:13

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

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

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

u010454267
u010454267 嗯,我先考虑php怎么写
一年多之前 回复
never_back_down
never_back_down   2017.01.03 17:49

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。       输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。       补充说明:       1. 操作数为正整数,不需要考虑计算结果溢出的情况。       2. 若输入算式格式错误,输出结果为“0”。       要求实现函数:       void a
计算器输入计算式输出结果
这个比较简单,只能实现两个数的加减乘除运算,后面那个虽然实现了输入式子输出结果,但是比较麻烦。import java.util.Scanner;public class Calculator { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Syste
VC++程序: 将字符串转换成公式并计算结果
int Calculate(string formula) 函数功能:输入一个字符串公式string formula,允许四则混合运算,然后输入公式中对应变量的取值,最后返回int类型计算结果。 变量的格式:必须由1位字母加1位数字组成,如a1、b2等。 如输入字符串 “(a1+b2)/(-100)”,以及a1=100,b2=300,得到结果-4。遇到小数则向下取整。 公式的格式: 1、只包含变量、常数、四则符号、小括号四种符号,不支持大括号和中括号 2、允许正数前加正号,如+100 3、不允许空括号,如 “8*( )” 4、允许负数,但负数必须加括号,如 "5/(-1)"。当负数在公式开头时,可不加括号, 如 "-a1+90"和“+a1+90” 都是对的 5、允许纯常数公式,如 “5*(-9)” 6、允许用户输入多余的空格,但空格不能造成公式错误, 如公式 “(1 08+a2)/a 3” 是错的,(- 7)和(- n5)是错的,去掉空格就对了。
通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。 输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。 补充说明: 1、操作数为
通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。 输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。 补充说明: 1、操作数为正整数,不需要考虑计算结果溢出的情况。 2、若输入算式格式错误,输出结果为“0”。 要求实现函数: void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 pInputStr: 输入字符串
Java 如何直接获得字符串形式计算的结果
Java 使用 ScriptEngine 执行 JS 脚本来获取类似 “ 2 * 2 ” 这种格式字符串的结果。
python3如何将input输入的字符串转化为表达式并计算出结果
python2中input输入表达式: python3中input输入表达式: 此时在输出时,将参数加上eval转化就可以了
求一个整数的阶乘 5! = 5*4*3*2*1
import java.util.Scanner; public class Test12 { public static void main(String[] args) { // TODO Auto-generated method stub int sum=1; Scanner sc = new Scanner(System.in); System.out.printl...
题目:要求把字符串的每个字符按多到少的顺序输出,比如: Hello World 输出如下: l(3)o(2)H(1)e(1)r(1)d(1).
要求把字符串的每个字符按多到少的顺序输出,比如:Hello World 输出如下:l(3)o(2)H(1)e(1)r(1)d(1).
Python实现题目二:请实现一个函数,将一个字符串中的空格替换成。
题目二:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。class Solution: # s 源字符串 def replaceSpace(self, s): # write code here i = 0 n =len(s) ...
输入表达式 输出计算结果(可实现)c++
用语法树方法实现输入一个算术表达式,输出计算结果。