HDU 1237

来源:互联网 发布:象棋算法 编辑:程序博客网 时间:2024/06/08 19:32
#include<cstdio>#include<stack>#include<iostream>using namespace std;int main(){    stack<double> num;    int a;double t,add=0,number; char b,c,space;    while(scanf("%d%c",&a,&b)!=EOF)    {        if(a==0&&b=='\n')            break;        num.push((double)a);        while(scanf("%c %lf%c",&c,&number,&space)!=EOF)        {            if(c=='+'){num.push(number);}            if(c=='-'){num.push(-1.0*number);}            if(c=='*'){t=num.top();num.pop();num.push(t*number);}            if(c=='/'){t=num.top();num.pop();num.push(t/number);}            if(space!=' ')break;        }        while(!num.empty())        {            add+=num.top();            num.pop();        }        printf("%.2lf\n",add);add=0;    }    return 0;}

思路:将数字进行处理后存入栈内,最后进行出栈求和的操作。
新人VJ首作。

1 0
原创粉丝点击