(遞迴)逆波蘭表示式

2022-07-01 12:33:13 字數 771 閱讀 3902

例題:逆波蘭表示式

逆波蘭表示式是一種把運算子前置的算術表示式,例如普通的

表示式2 + 3的逆波蘭表示法為+ 2 3。逆波蘭表示式的優點是運算

符之間不必有優先順序關係,也不必用括號改變運算次序,例如(2 +

3) * 4的逆波蘭表示法為* + 2 3 4。本題求解逆波蘭表示式的值,

其中運算子包括+ - * /四個。

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

數* + 11.0 12.0 + 24.0 35.0

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

1357.000000

題解:#define _crt_secure_no_warnings

#include

#include

#include

using namespace std;

double exp(){

char s[20];

cin >> s;

switch(s[0]){

case '+': return exp()+exp();

case '-': return exp()-exp();

case '*': return exp()*exp();

case '/': return exp()/exp();

default : return atof(s);

break;

int main()

printf("%lf",exp());

return 0;

遞迴 逆波蘭表示式

中置表示式 1 2 3 前置 1 2 3 後置 1 2 3 這道題說逆波蘭表示式是前置就前置吧,題意就是輸入一行,其中運算子和運算數直接都用空格分開,輸出乙個表示式的值。思路就是用遞迴的思想,首先需要寫出逆波蘭表示式的定義 1 乙個數是乙個逆波蘭表示式,值為該數。2 運算子 逆波蘭表示式 逆波蘭表示...

遞迴 之 逆波蘭表示式

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

逆波蘭表示式(棧,遞迴)

總時間限制 1000ms 記憶體限制 65536kb 描述逆波蘭表示式是一種把運算子前置的算術表示式,例如普通的表示式2 3的逆波蘭表示法為 2 3。逆波蘭表示式的優點是運算子之間不必有優先順序關係,也不必用括號改變運算次序,例如 2 3 4的逆波蘭表示法為 2 3 4。本題求解逆波蘭表示式的值,其...