藍橋杯練習系統 表示式計算 堆疊

2022-05-07 01:57:05 字數 815 閱讀 3311

題目:

問題描述

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

輸入格式

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

輸出格式

輸出這個表示式的值。

樣例輸入

1-2+3*(4-5)

樣例輸出

-4資料規模和約定

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

上**:

1 #include2 #include3 #include

4using

namespace

std;

5int mat[5][6] = ;

12string

str;

13 stacknu;

14 stackop;

15int

len;

16void

get(bool &flag, int &retn, int &i)

25 i--;

26 flag = false

;27 retn =x;28}

29else38}

39int

main()

50else

54else

69if (retnum != 5

) op.push(retnum);70}

71}72 idx++;73}

74while (!op.empty())

86 cout << nu.top() <87 }

藍橋杯 演算法訓練 表示式計算

之前在學習棧的時候老師講過這個問題 思路就是 1.將表示式 中綴式 轉化成字尾式 2.進行字尾式的計算。思路看起來很簡單,但是實際在敲 的時候還是要注意很多問題。下面分享一下個人做法,可以改進之處還希望大家可以指出來,共同進步!一 將中綴式轉化為字尾式 個人採用的是邊輸入邊進行處理 首先設定兩個棧,...

Stack c 堆疊計算表示式

calculator.cs 堆疊計算運算表示式 vs2005 complied ok using system using system.collections using system.text.regularexpressions 正規表示式庫 namespace stacktest isnum...

藍橋杯 字尾表示式

問題描述 給定 n 個加號 m 個減號以及 n m 1 個整數 a1,a2,an m 1,小明想知道在所有由這 n 個加號 m 個減號以及 n m 1 個整數湊出的合法的 字尾表示式中,結果最大的是哪乙個?請你輸出這個最大的結果。例如使用1 2 3 則 2 3 1 這個字尾表示式結果是 4,是最大的...