这样处理一个问题:
   89+637*34-637
注意:这是一个字符串,请教谁给点办法,帮我计算出结果。

解决方案 »

  1.   

    就是根据优先级截断字符串
    1、因为*/的优先级最高,所以首先查找*和/(用pos函数定位置,然后用leftstr和rightStr把字符串分解为两个)
    2、当字符串中没有*和/的时候,开始查找+和-(方法同上)
    3、最后字符当中没有运算符的时候就StrToInt.
    4、在截断字符的过程中可以用堆栈(TSTack)或者数组来保存顺序,最后把符号加进来计算(符号和数字可以分开保存)
      

  2.   

    http://community.csdn.net/Expert/topic/3913/3913938.xml?temp=.7979395