給定乙個表示式字串,其中只包含非負整數,加法,減法以及乘法符號,例如7+3*4*5+2+4-3-1。請寫程式計算該表示式的值。
還是發現自己一次把程式寫對比較難啊,總是要錯一些用例然後才發現錯誤,然後再糾正。哎
下面基本沒有什麼錯誤檢測。另外注意當前操作為減的時候,下乙個數轉換為負是最好的,不能留著最後求值的時候再判斷。
比如1-2-3,最後會得到1-(-1) =2,錯誤。
//返回表示式expr的值
#includebool isop(char c)
int evaluate(const string& expr) {
if (expr.empty() )
return 0;
stackoperand;
operand.push(0);
stackops;
ops.push('+');
int presum=0;
for(int i=0;i
18 面試題 正規表示式
使用者名稱 整數 電子郵件位址 email 手機號碼正則。表單驗證必備!有錯誤歡迎指正!1 使用者名稱正則 var username a z0 9 6到16位 大小字母,數字,下劃線,減號 2 整數正則 var pospattern d 匹配正整數 var negpattern d 匹配負整數 va...
面試題 16 26 計算器 棧,表示式運算
表示式運算子優先順序演算法。定義運算子的優先順序 1 2代表前乙個和後乙個運算子。例如 在 後面,那麼 屬於2 22指示的那個維度。假設表示式的開頭和結尾有 1 2 x x 這個方法適用於所有的表示式。class solution case case case return res int tonu...
簡單表示式計算
給定乙個合法的表示式字串,其中只包含非負整數 加法 減法以及乘法符號 不會有括號 例如7 345 2 4 3 1,請寫程式計算該表示式的結果並輸出 輸入描述 輸入有多行,每行是乙個表示式,輸入以end作為結束 輸出描述 每行表示式的計算結果 輸入例子1 7 345 2 4 3 1 2 3 1 end...