#include<iostream> #include<stdlib.h> #include<string> #include<cstring> #include<cstdio> #define N 510 using namespace std; string s; char a[N]; double exp() { char ch[10]; sscanf(a,"%s",ch); int len=strlen(ch); strcpy(a,a+len+1); switch(ch[0]) { case '+':return exp()+exp(); case '-':return exp()-exp(); case '*':return exp()*exp(); case '/':return exp()/exp(); default :return atof(ch); } } int main() { double ans;int i; while(getline(cin,s)) { char ch[10]; for(i=0;i<s.length();i++) a[i]=s[i]; a[i]='\n'; ans=exp(); printf("%0.2lf\n",ans); } return 0; }
nyoj 128 前缀表达式
最新推荐文章于 2017-04-27 20:24:39 发布