//************ 課本53頁,用棧來實現的簡單的四則運算表示式. '#'是表示式結束符,
注意在表示式輸入完畢後需再輸入乙個'
#'表示結束. eg:4+2*3-10/5# **********//
#include#include
#include
#include
#include
using
namespace
std;
stack
opnd; //
運算元棧
stack optr; //
算符棧char expression[100]; //
用於盛放表示式
char compare(char a, char b); //
返回兩算符a和b的優先順序關係
int calculate(int a, int b, char op); //
返回計算結果
int evaluateexpression(); //
求值過程
bool isoptr(char c); //
是否是算符
intmain()
char compare(char a, char b)
int calculate(int a, int b, char op) //
返回計算結果
}bool isoptr(char
c)int evaluateexpression()
opnd.push(num);
}else}}
optr.push('#
'); //
在表示式最左邊增設乙個'#'構成整個表示式的一對'#'
int res=opnd.top();
opnd.pop();
return
res;
}
棧 實現四則運算
題目描述 給定乙個字串描述的算術表示式,計算出結果值。輸入字串長度不超過100,合法的字元包括 0 9 字串內容的合法性及表示式語法的合法性由做題者檢查。本題目只涉及整型計算。題目描述 給定乙個字串描述的算術表示式,計算出結果值。輸入字串長度不超過100,合法的字元包括 0 9 字串內容的合法性及表...
用位運算實現四則運算
1 這個 主要用位運算實現四則運算 2 public class figureout 1314 加法的實現 15public static int add int a,int b else33 34 減法的實現 35public static int minus int a,int b 44 乘法的...
用棧解決四則運算問題
本文章的解決方法參考了 大話資料結構 中關於棧的應用介紹 值得注意的是,書中關於中綴表示式轉字尾的講解中不盡清楚。本人也在這裡花了點時間進行推敲錯誤的原因,也在網上搜到了這篇文章,比較好地介紹了中綴轉字尾的的規則 原理 用計算機求解四則運算,可以使用棧。因為棧的 先進後出 的特性正好滿足了能通過字尾...