http://acm.nyist.net/JudgeOnline/problem.php?pid=128&前缀式计算

来源:互联网 发布:无壳鸡蛋孵小鸡知乎 编辑:程序博客网 时间:2024/06/04 06:05
istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。
#include<iostream>#include<sstream>using namespace std;int main(){string str, line;while(getline(cin, line)){istringstream stream(line);while(stream>>str)cout<<str.c_str()<<endl;}return 0;}
#include<iostream>#include<cstring>#include<sstream>#include<string> #include<cstdio>using namespace std;char s[505];double exc(istringstream &iss){   char a[10];    double res;    iss>>a;cout<<a<<endl;    switch(a[0])    {  case '+':return exc(iss)+exc(iss);break;       case '-':return exc(iss)-exc(iss);break;       case '*':return exc(iss)*exc(iss);break;       case '/':return exc(iss)/exc(iss);break;       default :sscanf(a,"%lf",&res);       return res;      }}int main(){   double result;    while(gets(s))    {  istringstream iss(s);       result=exc(iss);       cout.precision(2);       cout<<fixed<<result<<endl;    }    return 0;}