摘要: 粗糙的实现,能够完成“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)