利用棧求字首表示式的值

2021-06-27 00:57:33 字數 928 閱讀 2402

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

輸入格式說明:

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

輸出格式說明:

輸出字首表示式的運算結果,精確到小數點後1位,或錯誤資訊「error」。

樣例輸入與輸出:序號

輸入輸出

1

+ + 2 * 3 - 7 4 / 8 4
13.0

2

/ -25 + * - 2 3 4 / 8 4
12.5

3

/ 5 + * - 2 3 4 / 8 2
error

4

+10.23
10.2

#include#include#include#include#include#includeusing namespace std;

stackp;

int main()

else if(a[i]=='.')

else if((a[i]=='+' || a[i]=='-') && s!=0)//當有負號要特殊考慮

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

else

p.push(x/y);

}i--;//?

}} if(k==0)

printf("%.1lf\n",p.top());

} 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個字元的字首表示式,只包含 以及運算數,不同物件 運算數 運算符號 之間以空格...

求字首表示式的值

目錄 求字首表示式的值 問題描述 實現 算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入格式 輸入在一行內給出不超過30個字元的字首表示式,只包含 ...