一本通1198 逆波兰表达式
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <map> #include <queue> #include <set> #include <iterator> #include <vector> #define maxn 10000005 typedef long long ll; using namespace std; char s[maxn]; double f(){ cin>>s; switch(s[0]) { case '+':return f()+f(); case '-':return f()-f(); case '*':return f()*f(); case '/':return f()/f(); //char[]转化为double数 default:return atof(s); } } int main(){ printf("%f\n", f()); return 0; }
如果为常数 返回该值 如果不是常数 继续递归下俩项