洛谷 P1449 字尾表示式 C語言實現 棧

2021-09-25 10:58:36 字數 910 閱讀 2847

所謂字尾表示式是指這樣的乙個表示式:式中不再引用括號,運算符號放在兩個運算物件之後,所有計算按運算符號出現的順序,嚴格地由左而右新進行(不用考慮運算子的優先順序)。

如:3*(5–2)+7對應的字尾表示式為:3.5.2.-*7.+@。』@』為表示式的結束符號。『.』為運算元的結束符號。

輸入格式:

輸入:字尾表示式

輸出格式:

輸出:表示式的值

輸入樣例#1:

3.5.2.-*7.+@

輸出樣例#1:

16
字串長度,1000內。

其實這個字尾表示式計算的規則很簡單,就是從左到右遍歷表示式的每個數字和符號,遇到是數字的就進棧,遇到是符號,就將處於棧頂兩個數字出棧,進行運算,運算結果再進棧,一直到遇見 '@' 就輸出棧中的第乙個數字(同時也是唯一的乙個數字)。

其中需要注意的也只是乙個如何儲存一位數的數字,整體來說沒什麼難度。

#include

intmain()

else

if(ch ==

'-')

else

if(ch ==

'*')

else

if(ch ==

'/')

else

if(ch ==

'.')

else

cnum = cnum *10+

(ch -

'0');}

printf

("%d"

, num[0]

);return0;

}

洛谷P1449 字尾表示式

所謂字尾表示式是指這樣的乙個表示式 式中不再引用括號,運算符號放在兩個運算物件之後,所有計算按運算符號出現的順序,嚴格地由左而右新進行 不用考慮運算子的優先順序 如 3 5 2 7對應的字尾表示式為 3 5 2 7 為表示式的結束符號。為運算元的結束符號。輸入格式 輸入 字尾表示式 輸出格式 輸出 ...

洛谷 P1449 字尾表示式

題目描述 所謂字尾表示式是指這樣的乙個表示式 式中不再引用括號,運算符號放在兩個運算物件之後,所有計算按運算符號出現的順序,嚴格地由左而右新進行 不用考慮運算子的優先順序 如 3 5 2 7對應的字尾表示式為 3 5 2 7 為表示式的結束符號。為運算元的結束符號。輸入格式 輸入 字尾表示式 輸出格...

P1449 字尾表示式(洛谷)

思路 定義乙個來存放int型的棧,然後將輸入的資料轉換後存入棧中,但是以運算符號為分割,先進第乙個數,再進第二個數,接著將後進的數先丟擲,此時先進的數就是棧頂元素了,然後將這兩個數做運算後再將第乙個數丟擲以及將運算結果sum壓入棧中,以此迴圈即可。include using namespace st...