逆波兰表达式定义
一个数是逆波兰表达式,值为该数;
形如“运算符 逆波兰表达式 逆波兰表达式”形式的是逆波兰表达式,值为两个逆波兰表达式运算的结果;
完整代码
输入:x / + 12 36 + 1 3 - 15 8
输出:84
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
float notation(){
char str[10];
cin >> str; //输入逆波兰表达式中的一个段(符号或数字字符串)
switch(str[0]){
case '*': return notation()*notation();
case '/': return notation()/notation();
case '+': return notation()+notation();
case '-': return notation()-notation();
default: return atof(str); //若是数字字符串,则返回相对应的数字
}
}
int main()
{
cout << notation();
return 0;
}