洛谷 P1449 字尾表示式

2021-10-07 16:48:54 字數 958 閱讀 2720

這道題是一道比較簡單的計算器模擬,因為他沒有涉及到括號的輸入,也不需要判斷符號之間的優先順序,

只需要將不同的數字計算出來,然後每次讀取到運算符號的時候就從棧中彈出兩個數字進行計算,將計算的結果壓入棧中,只需要乙個數字棧就可以,而不需要符號棧。

用題中所給的測試資料來模擬一下這個過程:

在程式中需要注意的是輸入中的 「.」,它代表了數字的結束,要轉換成對應的更高位數的數字,還有就是運算之後要把運算過的數字全部清零,只是移動指標是不行的。

下面附上原始碼

#include

intmain()

;//將陣列初始化

int cnt1 =0;

while

(temp !=

'@')

else

if(temp ==

'.')

//數字結束,棧的指標加一

cnt1++

;else

if(temp ==

'-'||temp ==

'+'||temp ==

'*'||temp ==

'/')

else

if(temp ==

'+')

else

if(temp ==

'*')

else

if(temp ==

'/')

cnt1++

;//再將指標移動到棧頂

} temp =

getchar()

;}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...