用兩個stack 乙個存字元,乙個存數字
從後往前來算,遇到數字先把數字放到smathl裡
遇到字元 再從smath裡拿出倆個數字,其實smath裡最多就有兩個數字 拿完刪除
再把結果放到smath裡 這樣最後乙個數字的就是結果了
#include
#include
#include
using
namespace std;
double
fact
(string c,
double a,
double b)
return0;
}int
main()
spunc.
push
(st);}
//一開始都放到了spunc裡
while
(!spunc.
empty()
)else
smath.
push
(a);
spunc.
pop();
continue;}
//計算
double a = smath.
top();
smath.
pop();
double b = smath.
top();
smath.
pop();
//不符合
if(b ==0)
//結果,在放到smath裡
double q =
fact
(spunc.
top(
), a, b)
; smath.
push
(q);
spunc.
pop();
}}printf
("%.1f"
, smath.
top())
;return0;
}
求字首表示式的值
首先粘一下題目 算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入格式說明 輸入在一行內給出不超過30個字元的字首表示式,只包含 以及運算數,不同物件...
求字首表示式的值
算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入在一行內給出不超過30個字元的字首表示式,只包含 以及運算數,不同物件 運算數 運算符號 之間以空格...
求字首表示式的值
目錄 求字首表示式的值 問題描述 實現 算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入格式 輸入在一行內給出不超過30個字元的字首表示式,只包含 ...