中置表示式:1+2=3
前置:+ 1 2=3
後置:1 2 +=3
這道題說逆波蘭表示式是前置就前置吧,題意就是輸入一行,其中運算子和運算數直接都用空格分開,輸出乙個表示式的值。
思路就是用遞迴的思想,首先需要寫出逆波蘭表示式的定義:
(1)乙個數是乙個逆波蘭表示式,值為該數。
(2)「運算子 逆波蘭表示式 逆波蘭表示式 」是逆波蘭表示式,值為兩個表示式的值運算的結果。
可以看出這是個遞迴定義,終止條件就是表示式為乙個數的時候。因為是用空格隔開,所以**就這樣寫,遇到運算子就遞迴。
#include
#include
#include
using
namespace std;
double
exp()}
intmain()
(遞迴)逆波蘭表示式
例題 逆波蘭表示式 逆波蘭表示式是一種把運算子前置的算術表示式,例如普通的 表示式2 3的逆波蘭表示法為 2 3。逆波蘭表示式的優點是運算 符之間不必有優先順序關係,也不必用括號改變運算次序,例如 2 3 4的逆波蘭表示法為 2 3 4。本題求解逆波蘭表示式的值,其中運算子包括 四個。輸入輸入為一行...
遞迴 之 逆波蘭表示式
逆波蘭表示式是一種把運算子前置的算術表示式,例如普通的表示式2 3的逆波蘭表示法為 2 3。逆波蘭表示式的優點是運算子之間不必有優先順序關係,也不必用括號改變運算次序,例如 2 3 4的逆波蘭表示法為 2 3 4。本題求解逆波蘭表示式的值,其中運算子包括 四個。輸入資料 輸入為一行,其中運算子和運算...
逆波蘭表示式(棧,遞迴)
總時間限制 1000ms 記憶體限制 65536kb 描述逆波蘭表示式是一種把運算子前置的算術表示式,例如普通的表示式2 3的逆波蘭表示法為 2 3。逆波蘭表示式的優點是運算子之間不必有優先順序關係,也不必用括號改變運算次序,例如 2 3 4的逆波蘭表示法為 2 3 4。本題求解逆波蘭表示式的值,其...