码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1237 简单计算器 —— stack、stringstream 的使用

时间:2020-03-14 22:04:27      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:can   relevant   ack   code   and   描述   通过   字符   art   

题目描述

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\n",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 简单计算器 —— stack、stringstream 的使用

标签:can   relevant   ack   code   and   描述   通过   字符   art   

原文地址:https://www.cnblogs.com/bjxqmy/p/12494336.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!