各種面試題 簡單表示式計算

2021-06-18 10:37:57 字數 482 閱讀 7132

給定乙個表示式字串,其中只包含非負整數,加法,減法以及乘法符號,例如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...