7 6 字尾表示式計算

2021-10-04 05:33:34 字數 784 閱讀 9155

kunkun學長覺得應該讓學弟學妹了解一下這個知識點:字尾表示式相對於中綴表示式更容易讓計算機理解和學習。現在kunkun學長給出一串字尾表示式,你能幫他算出這個字尾表示式的值嗎?

輸入格式:

第一行輸入字尾表示式長度n(1<=n<=25000);

第二行輸入乙個字串表示字尾表示式(每個資料或者符號之間用逗號隔開,保證輸入的字尾表示式合法,每個數包括中間結果保證不超過long long長整型範圍)

輸出格式:

輸出乙個整數,即字尾表示式的值。

輸入樣例1:

610,2,+

輸出樣例1:

輸入樣例2:

142,10,2,+,6,/,-

輸出樣例2:

0不用long long會wa

#include

using

namespace std;

intmain()

elseif(

isdigit

(c)&&

isdigit

(ch[i-1]

))elseif(

isdigit

(c))

else

if(c==

'+'||c==

'-'||c==

'*'||c==

'/')

case

'-':

case

'*':

case

'/':}}

} cout

}

字尾表示式計算

演算法 1.遍歷字尾表示式中的數字和符號 對於數字 進棧 對於符號 從棧中彈出右運算元 從棧中彈出左運算元 根據符號進行運算 將運算結果壓入棧中 2.遍歷結束 棧中的唯一數字為計算結果 include include linkstack.h int isnumber char c int isope...

字尾表示式計算

將中綴表示式轉換為字尾表示式 與轉換為字首表示式相似,遵循以下步驟 1 初始化兩個棧 運算子棧s1和儲存中間結果的棧s2 2 從左至右掃瞄中綴表示式 3 遇到運算元時,將其壓入s2 4 遇到運算子時,比較其與s1棧頂運算子的優先順序 4 1 如果s1為空,或棧頂運算子為左括號 則直接將此運算子入棧 ...

字尾表示式計算

字尾表示式這樣一種型別的表示式,運算元在前,操作符在後。例如這樣的一位數字尾表示式 32 5 4 對等的四則表示式為 3 2 5 4。試編寫程式,求解乙個一位數的字尾表示式計算,表示式支援 操作,其中 為整除。輸入 表示式輸出 計算值樣例輸入 32 5 4 樣例輸出 21提示 可使用棧 解題關鍵 1...