逆波蘭表達式是一種把運算符前置的算術表達式,例如普通的表達式2 + 3的逆波蘭表達式為 + 2 3 逆波蘭表達式的優點是運算符不必有優先級關系,也不必用括號改變運算次序, 例如(2+3)4 3的逆波蘭表達式為 + 2 3 4 本題中求逆波蘭表達式的值,其中運算符包括 + - * /四個
輸入一行,其中運算符和運算數之間用空格隔開
輸出為一行表達式的值
逆波蘭表達式的定義: 1.一個數就是一個逆波蘭表達式,這個數就是逆波蘭表達式本身 //相當于一個終止條件 2.“運算符 逆波蘭表達式 逆波蘭表達式” 是逆波蘭表達式,值為兩個逆波蘭表達式運算出的結果 // 逆波蘭表達式本身就是一個遞歸
#include <iostream>#include <cmath>#include <cstdio>#include <cstdlib>using namespace std;double Exp(){ char s[100]; 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(){新聞熱點
疑難解答