字符串“{[(10+3)*18-24/8]*(48+37)}/3”,实现一个算法,求字符串算式的结果。

解决方案 »

  1.   

    exec  'select a=' + '{[(10+3)*18-24/8]*(48+37)}/3'不知道这样做行不行,嘿嘿
      

  2.   

    应该先用 '()' 替换 大括号,还有中括号,然后在运行 exec
      

  3.   

    步骤1、先用小括号,代替大括号和中括号步骤2、然后再使用数据库,进行运算
    select  a = (((10+3)*18-24/8)*(48+37))/3
      

  4.   


    “{[(10+3)*18-24/8]*(48+37)}/3”
    -------------------------用逆波兰式表示为
    10 3+18* 24 8/-48 37+*3/
    ab+c*de/-fg+*3/根据栈取出就可以了
    如:
    取 10  3 + 则计算10+3=13
    取18  * 则计算13*18=234
    取24 8 / 则计算 24/8=3
    取- 则计算234-3=231
     即 每取一个运算符 就进行一次运算