求字首表示式的值

2021-09-11 04:19:56 字數 977 閱讀 8984

目錄

求字首表示式的值

問題描述 

**實現

算術表示式有字首表示法、中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2+3*(7-4)+8/4的字首表示式是:+ + 2 * 3 - 7 4 / 8 4。請設計程式計算字首表示式的結果值。

輸入格式:

輸入在一行內給出不超過30個字元的字首表示式,只包含+-*\以及運算數,不同物件(運算數、運算符號)之間以空格分隔。

輸出格式:

輸出字首表示式的運算結果,或錯誤資訊error

輸入樣例:

+ + 2 * 3 - 7 4 / 8 4
輸出樣例:

13
#include#include#includeusing namespace std;

main()

} //求值

for(int i=k-1;i>=0;i--)

double x=q.top(); q.pop();

double y=q.top(); q.pop();

double num;

if(a[i]=='+')

if(a[i]=='-')

if(a[i]=='*')

if(a[i]=='/')

cout << "error";

return 0;

}

} q.push( a[i]-'0' );

} double ans=q.top();

cout << ans << endl;

return 0;

}

求字首表示式的值

首先粘一下題目 算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如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個字元的字首表示式,只包含 以及運算數,不同物件 運算數 運算符號 之間以空格...

求字首表示式的值

用兩個stack 乙個存字元,乙個存數字 從後往前來算,遇到數字先把數字放到smathl裡 遇到字元 再從smath裡拿出倆個數字,其實smath裡最多就有兩個數字 拿完刪除 再把結果放到smath裡 這樣最後乙個數字的就是結果了 include include include using name...