time limit: 1000ms memory limit: 65536k
對於乙個基於二元運算子的字尾表示式(基本運算元都是一位正整數),求其代表的算術表示式的值。
輸入乙個算術表示式的字尾式字串,以『#』作為結束標誌。
求該字尾式所對應的算術表示式的值,並輸出之。
59*684/-3*+#
57
在字串中,如果是數字,則進棧,如果是運算子則將棧中的前兩個元素進行計算,然後刪除棧中的前兩個元素,並將新的計算結果入棧,全部完成後,出棧!
#include#include#include#define maxstack 1000//棧的初始儲存空間
#define maxadd 100//棧的每次分配的增量
typedef int elemtype;
typedef struct
qstack;
//初始化棧
int initstack(qstack &s)
s.top=s.base;
s.stacksize=maxstack;
return 0;
}//進棧
int pushstack(qstack &s,char e)
s.top=s.base+maxstack;
}if(e>='0'&&e<='9')
else if(e=='+'||e=='-'||e=='*'||e=='/')//對棧的前兩個數字進行運算
else if(e=='-')
else
*(s.top++)=t;
}else if(e=='*')
else if(e=='/')
else
*(s.top++)=t;}}
return 0;
}//出棧
void putstack(qstack &s)
}int main()
putstack(s);//出棧
return 0;
}
資料結構實驗之棧三 字尾式求值
time limit 1000ms memory limit 65536k 有疑問?點這裡 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。輸入乙個算術表示式的字尾式字串,以 作為結束標誌。求該字尾式所對應的算術表示式的值,並輸出之。59 684 3 57 基...
資料結構實驗之棧三 字尾式求值
time limit 1000ms memory limit 65536k 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。輸入乙個算術表示式的字尾式字串,以 作為結束標誌。求該字尾式所對應的算術表示式的值,並輸出之。59 684 3 57 include i...
資料結構實驗之棧三 字尾式求值
abc defg hc 資料結構實驗之棧三 字尾式求值 time limit 1000msmemory limit 65536kb64bit io format lld llu submit status practice sdutoj 2133 description 對於乙個基於二元運算子的字尾...