輸入有多組測試數據,每組測試數據占一行,任意兩個操作符之間,任意兩個操作數之間,操作數與操作符之間都有一個空格。輸入的兩個操作數可能是小數,數據保證輸入的數都是正數,並且都小於10,操作數數目不超過500。
以EOF為輸入結束的標志。輸出對每組數據,輸出該前綴表達式的值。輸出結果保留兩位小數。樣例輸入
+ 2 * + 3 4 5
+ 5.1 / 3 7
樣例輸出
37.00
5.53
題目分析:
用兩個棧進行存下數字和操作,進行計算,我剛開始想的是,每當連續輸入兩個數就行進行計算,並將結果壓入數字棧中,並且操作時,應該保證後出棧的數字在前,先出棧的在後,這樣可以保證-、/的結果。。。。。哎,不知道為什麼一直Wa,最後看看別人打代碼,這題可以從後往前計算,遇到操作符進行計算即可。此題需要注意就是字符串到數字的轉換。
AC代碼:
#include
#include
#include