帶括號的表示式計算

2021-09-28 11:21:33 字數 1417 閱讀 4205

時間限制:1 s 記憶體限制:256 mb 測試點數:5

【題目描述】

小明在你的幫助下,破密了ferrari設的密碼門,正要往前走,突然又出現了乙個密碼門,門上有乙個算式,其中只有「(」,「)」,「0-9」,「+」,「-」,「*」,「/」,「^」*求出的值就是密碼。小明數學學得不好,還需你幫他的忙。(「/」用整數除法)

【輸入格式】

共1行,為乙個算式。

【輸出格式】

共1行,算式的答案,即密碼。

【樣例輸入】(3

+4)*

(6-2

)/(20

-6)【樣例輸出】

2

【提示】

100%的資料滿足:算式長度<=30 其中所有資料在2^31-1的範圍內,所有的算式均合法正確。

#include

using

namespace std;

intcalculate

(int m,

int n,

char b)

}int

main()

else

if(a ==

'(')

else

if(a ==

')')

char t = operate.

top();

while

(t !=

'(')

operate.

pop();

if(!operate.

empty()

) b = operate.

top();

else b =

'\0';}

else

if(a ==

'+'|| a ==

'-'|| a ==

'*'|| a ==

'/'|| a ==

'^')

if(importance[b]

>= importance[a])}

if(tt)

operate.

push

(a);

if(operate.

empty()

) b =

'\0'

;else

b = operate.

top();

}else}if

(a ==

'\n'

)else

break;}

}if(temp !=0)

number.

push

(temp)

; cout << number.

top();

return0;

}

不帶括號的表示式計算

一 表示式形式 2 3 6 3 5 二 問題 假設一中的表示式是一段程式可讀的字串,如何計算表示式的值 三 思路 1.建立兩個棧,分別為數字棧 和運算子棧 2.遍歷字串 3.當遇到數字將數字儲存到數字棧中 4.當遇到運算子時,比較運算子棧頂元素和當前運算子的優先順序 4.1若當前元素大於棧頂元素,將...

表示式括號匹配

假設乙個表示式有英文本母 小寫 運算子 和左右小 圓 括號構成,以 作為表示式的結束符。請編寫乙個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回 yes 否則返回 no 表示式長度小於255,左圓括號少於20個。輸入格式 一行 表示式 輸出格式 一行 yes 或 no 輸入樣例 1 2 x y...

表示式括號匹配

假設乙個表示式有英文本母 小寫 運算子 和左右小 圓 括號構成,以 作為表示式的結束符。請編寫乙個程式檢查表示式中的左右圓括號是否匹配,若匹配,則返回 yes 否則返回 no 表示式長度小於255,左圓括號少於20個。輸入格式 一行 表示式 輸出格式 一行 yes 或 no include incl...