實現帶括號加減乘除運算

2021-07-29 06:46:38 字數 927 閱讀 1204

問題描述

輸入乙個只包含加減乖除和括號的合法表示式,求表示式的值。其中除表示整除。

輸入格式

輸入一行,包含乙個表示式。

輸出格式

輸出這個表示式的值。

樣例輸入

1-2+3*(4-5)

樣例輸出

-4資料規模和約定

表示式長度不超過100,表示式運算合法且運算過程都在int內進行。

#include #include using namespace std;

stacka;

stacknum;

int bj(char a)

int int_pow(int x, int y)

return sum;

}int change(string s)

return num;

}int act(int a, int b, char op)

return result;

}int main()

int k = change(s1);

num.push(k);

i--;

} else else else if(bj(a.top()) < bj(s[i])) else

}} else else

a.pop();

sco = num.top();

num.pop();

fir = num.top();

num.pop();

result = act(fir, sco, op);

num.push(result);

}} else }}

}while(a.size() > 0)

result = num.top();

cout

}

c 實現帶加減乘除括號的式子運算

題目 給定乙個帶加減乘除括號的表示式子字串,求其結果 如 10 20 3 的結果為90 思路 一 去括號。用乙個棧記錄左括號的位置,遍歷字串,讀取到右括號後棧pop,進行括號間式子的運算,並將結果字串替換回原字串。二 進行不帶括號的式子的運算。用乙個棧記錄數字,乙個棧記錄運算子。讀到數字直接入棧,讀...

位運算實現加減乘除

include include 加法運算 int add int a,int b 補碼中正數轉負數的原理 int negative int a 減法運算 int sub int a,int b 判斷正負 bool isnegative int a 僅計算正數乘法 int multi help int...

位運算實現加減乘除

關於邏輯右移和算術右移 vs中,對於unsigned型別,是邏輯右移,對於signed,算術右移 加法器的實現 對於不考慮進製的加法 0 0 0 1 0 1 0 1 1 1 1 0 即是異或運算 考慮進製 0 0 1 0 0 0 1 0 1 1 1 即是與運算 以下程式,a即不考慮進製部分,b為進製...