一本通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;
}

如果为常数 返回该值 如果不是常数 继续递归下俩项

posted @ 2022-02-13 16:47  lwx_R  阅读(96)  评论(0编辑  收藏  举报