HDU 1237 简单计算器 —— stackstringstream 的使用

Posted bjxqmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1237 简单计算器 —— stackstringstream 的使用相关的知识,希望对你有一定的参考价值。

题目描述

http://acm.hdu.edu.cn/showproblem.php?pid=1237

代码示例

#include<iostream>
#include<stack>
#include<string>
#include<sstream>
using namespace std;
int main(){
    string tem;
    while(getline(cin,tem)&&tem!="0"){
        tem+= ;//最后一个数字不用做单独处理 
        
        stack<double>a;stack<string>b;//数字栈;字符栈 
        string s=""; 
        
        for(int i=0;i<tem.length();i++){
            if(tem[i]!= ){
                s+=tem[i];
                continue;
            }
            
            if(s=="+"||s=="-"||s=="*"||s=="/"){
                b.push(s);
            }
            else{
                //string 转 double 
                stringstream ss;
                double nums;
                ss<<s;
                ss>>nums; 
                
                if(b.empty()||b.top()=="+"){
                    a.push(nums);
                }
                else if(b.top()=="-"){
                    b.pop();
                    a.push(-nums);
                }
                else if(b.top()=="*"){
                    b.pop();
                    double x=a.top();a.pop();
                    a.push(x*nums);
                }
                else if(b.top()=="/"){
                    b.pop();
                    double x=a.top();a.pop();
                    a.push(x/nums);
                }
            }
            s="";    
        }
        
        double sum=0;
        while(!a.empty()){
            sum+=a.top();
            a.pop();
        }
        printf("%.2f
",sum);
    }
} 

 知识点:

stringstream https://blog.csdn.net/candadition/article/details/7342380?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

以上是关于HDU 1237 简单计算器 —— stackstringstream 的使用的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1237 简单计算器(后缀式+栈)

HDU 1237 简单计算器 —— stackstringstream 的使用

hdu 1237 简单计算器(栈处理)

HDU 1237 简单计算器(栈)

HDU1237 简单计算器 栈+逆波兰式

HDU1237 简单计算器 栈