摘要:
粗糙的实现,能够完成“12*3+4*11/(2-5)*2”之类的整形运算。方法是通过两个栈,一个记录操作数,一个记录操作符,然后用map记录优先级。/和*的优先级要一样,否则会有4*11/2是22还是20这样的错误。括号的处理是"("入栈,")"开始回退到"("。因为除号的两个操作数有顺序,弹出栈的时候要注意。#include #include #include #include #include using namespace std;// case:// 1+2*3+5-6/7 = 12// 12*3+4*11/2-5*2 = 4 阅读全文
posted @ 2013-11-17 01:27
阿牧遥
阅读(325)
评论(0)
推荐(0)

浙公网安备 33010602011771号