Rockiswu 2021-08-16 17:16 采纳率: 87.9%
浏览 647
已结题

后缀表达式求值c++

逆波兰式(后缀表达式求值),要支持负数的,感谢大家!

很急,还剩20分钟了;

在线等,一有回答我就看, 只要我测试能通过就采纳。

  • 写回答

4条回答 默认 最新

  • piaoyiren 2021-08-16 17:49
    关注

    #include

    #include
    //#include

    using namespace std;

    int main(){

    string s;
    
    getline(cin,s);
    
    stack<int> sta;
    
    int left=0;
    
    int right=0;
    
    for(int i=0;i<s.size();i++){
    
        if(s[i]>='0'&&s[i]<='9'){
    
            string s2=" ";
    
            while(s[i]>='0'&&s[i]<='9'){
    
                s2+=s[i];
    
                i++;
    
            }
    
            sta.push(atoi(s2.c_str()));
    
        }
    
        else if(s[i]!=' '){
    
            if(!sta.empty()){
    
                right=sta.top();
    
                sta.pop();
    
            }
    
            if(!sta.empty()){
    
                left=sta.top();
    
                sta.pop();
    
            }
    
            switch(s[i]){
    
                case '+':
    
                    sta.push(left+right);
    
                    break;
    
                case '-':
    
                    sta.push(left-right);
    
                    break;
    
                case '*':
    
                    sta.push(left*right);
    
                    break;
    
                case '/':
    
                    sta.push(left/right);
    
                    break;
    
                default:
    
                    break;
    
            }
    
        }
    
    }
    
    cout<<sta.top()<<endl;
    
    return 0;
    

    }

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月16日
  • 创建了问题 8月16日

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?