求字首表示式的值
算術表示式有字首表示法、中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2+3*(7-4)+8/4
的字首表示式是:+ + 2 * 3 - 7 4 / 8 4
。請設計程式計算字首表示式的結果值。
輸入在一行內給出不超過30個字元的字首表示式,只包含+
、-
、*
、\
以及運算數,不同物件(運算數、運算符號)之間以空格分隔。
輸出字首表示式的運算結果,保留小數點後1位,或錯誤資訊error
。
+ + 2 * 3 - 7 4 / 8 4
13.0
就是倒著算(從右到左),遇見數字,進棧,遇見運算子,把棧頂前兩個數運算,得到的結果存到棧頂下乙個,然後把棧頂彈出
#include using namespace std;int top=0;
double h[40];
int main()
else if(c!=' ')
}int top1=0;
for(i=top-1;i>=0;i--)
if(k[i]=='+')
if(k[i]=='-')
if(k[i]=='*')
if(k[i]=='/')
}if(top1==1)
else
return 0;
}
PAT 求字首表示式的值
算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如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個字元的字首表示式,只包含 以及運算數,不同物件 運算數 運算符號 之間以空格...