problem description
對於乙個基於二元運算子的字尾表示式(基本運算元都是一位正整數),求其代表的算術表示式的值。
input
輸入乙個算術表示式的字尾式字串,以『#』作為結束標誌。
output
求該字尾式所對應的算術表示式的值,並輸出之。
example input
59*684/-3*+#
example output
57 hint
基本運算元都是一位正整數!
思路:讀到操作符,出棧pop前兩個,進行運算。運算完在入棧push,注意運算時的順序:先出棧的是作為後乙個運算元哦~
#include
#include
#include
#define stackmax 10000 //儲存空間初始分配量
#define stacknum 10 //儲存空間分配增量
using namespace std;
typedef int selemtype; //棧裡是char型別的
typedef struct
sqstack;
int initstack(sqstack &s)
int push(sqstack &s, selemtype e)
*(s.top)=e;
s.top++;
return1;}
int pop(sqstack &s, selemtype &e) //出棧,並將值賦值給e,所以&e
int gettop(sqstack s, selemtype &e)
int main()
else
else
if(s[i]=='-')
else
if(s[i]=='*')
else
if(s[i]=='/')
}i++;
}gettop(s,e1);
cout0;}
資料結構實驗之棧與佇列三 字尾式求值
time limit 1000ms memory limit 65536kb submit statistic problem description 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。input 輸入乙個算術表示式的字尾式字串,以 作為結束標誌...
資料結構實驗之棧與佇列三 字尾式求值
problem description 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。input 輸入乙個算術表示式的字尾式字串,以 作為結束標誌。output 求該字尾式所對應的算術表示式的值,並輸出之。example input 59 684 3 exa...
資料結構實驗之棧與佇列三 字尾式求值
time limit 1000ms memory limit 65536kb problem description 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。input 輸入乙個算術表示式的字尾式字串,以 作為結束標誌。output 求該字尾式所對應的...