洛谷P1449 字尾表示式

2021-07-30 05:49:51 字數 1001 閱讀 5770

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

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

輸入格式:

輸入:字尾表示式

輸出格式:

輸出:表示式的值

分析:把數字加入棧,遇到運算子就取棧頂元素運算後加入。

**

vara:array[0..1000] of longint;

x,l:longint;

ch:char;

begin

x:=0;

while ch<>'@' do

begin

read(ch);

if ch in ['0'..'9'] then x:=x*10+ord(ch)-48;

if ch='.' then

begin

inc(l);

a[l]:=x;

x:=0;

end;

if ch='+' then

begin

a[l-1]:=a[l]+a[l-1];

dec(l);

end;

if ch='-' then

begin

a[l-1]:=a[l-1]-a[l];

dec(l);

end;

if ch='*' then

begin

a[l-1]:=a[l-1]*a[l];

dec(l);

end;

if ch='/' then

begin

a[l-1]:=a[l-1] div a[l];

dec(l);

end;

end;

writeln(a[1]);

end.

洛谷 P1449 字尾表示式

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

P1449 字尾表示式(洛谷)

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

洛谷 P1449 字尾表示式

這道題是一道比較簡單的計算器模擬,因為他沒有涉及到括號的輸入,也不需要判斷符號之間的優先順序,只需要將不同的數字計算出來,然後每次讀取到運算符號的時候就從棧中彈出兩個數字進行計算,將計算的結果壓入棧中,只需要乙個數字棧就可以,而不需要符號棧。用題中所給的測試資料來模擬一下這個過程 在程式中需要注意的...