OpenJudge 2694 逆波蘭表示式

2021-10-18 23:00:36 字數 739 閱讀 7161

描述

逆波蘭表示式是一種把運算子前置的算術表示式,例如普通的表示式2 + 3的逆波蘭表示法為+ 2 3。逆波蘭表示式的優點是運算子之間不必有優先順序關係,也不必用括號改變運算次序,例如(2 + 3) * 4的逆波蘭表示法為* + 2 3 4。本題求解逆波蘭表示式的值,其中運算子包括+ - * /四個。

輸入

輸入為一行,其中運算子和運算數之間都用空格分隔,運算數是浮點數。

輸出

輸出為一行,表示式的值。

可直接用printf("%f\n", v)輸出表示式的值v。

思路

可以通過遞迴實現

乙個逆波蘭表示式由符號,逆波蘭表示式,逆波蘭表示式組成。中間以空格分隔。另外,乙個數字也是乙個逆波蘭表示式。用cin輸入將不同的部分斷開,判斷操作,再進行遞迴操作。

**

#include

#include

#include

using

namespace std;

double

recursion()

}int

main()

Openjudge 2694 逆波蘭表示式

這是波蘭表示式,題目中叫它是逆波蘭式。這個題的話,我們用遞迴求解,首先理解一下波蘭表示式,就是將運算子前移了。像是二叉樹的遍歷一樣,前序遍歷就是波蘭式,中序遍歷就是中綴表示式,後序遍歷就是逆波蘭表示式。我們讀入一項之後就進行處理,這裡的讀入因為題目中給出了空格,也就是一次讀入的結束,所以我們每次讀入...

Openjudge 2694 逆波蘭表示式

這是波蘭表示式,題目中叫它是逆波蘭式。這個題的話,我們用遞迴求解,首先理解一下波蘭表示式,就是將運算子前移了。像是二叉樹的遍歷一樣,前序遍歷就是波蘭式,中序遍歷就是中綴表示式,後序遍歷就是逆波蘭表示式。我們讀入一項之後就進行處理,這裡的讀入因為題目中給出了空格,也就是一次讀入的結束,所以我們每次讀入...

逆波蘭表示式POJ 2694

逆波蘭表示式是一種吧運算子前置的算術表示式,例如普通的表示式2 3的逆波蘭表示為 23.逆波蘭表示式的優點是運算子之間不必有優先順序的關係,也不必有括號改變運算次序,例如 2 3 4的逆波蘭表示法為 2 3 4.本題求解的逆波蘭表示式的值。輸入資料 輸入為一行,其中運算子和運算數之間都用空格分隔,運...