首页 > 编程语言 >表达式求值--后缀 C++实现

表达式求值--后缀 C++实现

时间:2024-06-10 10:33:44浏览次数:15  
标签:ch -- C++ int str 求值 include PostFixRun

#include <iostream>
#include <string>
#include<stack>
using namespace std;
int PostFixRun (string ch)
{
   stack<int> stk;
   for(int i=0;i<ch.size();i++)
   {
       if(ch[i]>='0'&&ch[i]<='9')
       {
           int m=ch[i]-48;
           stk.push(m);
       }
       else
       {
           int b=stk.top();
           stk.pop();
           int a=stk.top();
           stk.pop();
           if(ch[i]=='+')
           {
               stk.push(a+b);
           }
           else if(ch[i]=='-')
           {
               stk.push(a-b);
           }
           else if(ch[i]=='*')
           {
               stk.push(a*b);
           }
           else
           {
               if(b==0){cout<<"除数为0!"<<endl;return 0;}
               stk.push(a/b);
           }
       }

   }
   return stk.top();
}
int main()
{
    string str;
    cout<<"请输入一个后缀表达式:"<<endl;
    cin>>str;
    int t=PostFixRun(str);
    cout<<"表达式的值是:"<<t<<endl;
    return 0;
}

标签:ch,--,C++,int,str,求值,include,PostFixRun
From: https://blog.csdn.net/m0_65788436/article/details/139573912

相关文章

  • Docker 知识汇总
    Docker知识汇总返回到Java开发知识汇总目录docker学习docker概述docker安装docker命令镜像命令容器命令操作命令dockers镜像容器数据卷dockerfile编写dockerfile构建文件,命令大写(源代码)#docker指令FROM#基础镜像,一切......
  • 线性表总结(数据结构C++,大二下写,初学者)
    这段时间,我学到了这门课的第一种数据结构——线性表。关于线性表的知识,我总结为三方面:课本上学到的知识、上机实现课本上的例子的过程所学到的知识和力扣做题学到的知识和技巧。顺序表线性表中第一个学到的是顺序表,为此我翻了一下课本。顺序表,顾名思义,是线性表的顺序存储结构......
  • 避免 OOMKilled:在 Kubernetes 环境中优化 Java 进程的内存配置
    避免OOMKilled:在Kubernetes环境中优化Java进程的内存配置DevOps云学堂译 奇妙的Linux世界 2024-06-1009:53 重庆 听全文公众号关注 「奇妙的Linux世界」设为「星标」,每天带你玩转Linux! 管理KubernetesPod中运行的Java进程的内存使用情况比人们想象......
  • 天才程序员周弈帆 | Stable Diffusion 解读(二):论文精读
    本文来源公众号“天才程序员周弈帆”,仅用于学术分享,侵权删,干货满满。原文链接:StableDiffusion解读(二):论文精读【小小题外话】端午安康!在上一篇文章天才程序员周弈帆|StableDiffusion解读(一):回顾早期工作-CSDN博客中,我们梳理了基于自编码器(AE)的图像生成模型的发展脉络,并......
  • ACCESS 窗体的"模式"属性只能同时存在一个
    这是我实际工作中遇到的问题.两个窗体同时设置了"模式"属性为"是",预想中的结果是左边最后弹出的数据表窗体为最上层窗体.结果左右两个窗体同级了,能点左,也能点右.当然主窗体不能点是正确的.解决思路:这明显就是"模式"冲突了.所以我们设置成只同时存在一个模式属性为"是"......
  • Python 机器学习基础:掌握 Pandas 数据处理库的奥秘
    在Python的机器学习领域中,Pandas是一个不可或缺的工具。它不仅提供了强大的数据结构,还拥有数据处理和分析的能力,是数据科学家和机器学习工程师的得力助手。本文将深入探讨Pandas的核心功能,并通过实际案例,展示其在机器学习项目中的关键作用。1.Pandas简介Pandas是......
  • GK2024 游记
    License:CCBY-NC-SA4.0前情提要:拿到了高考体验卡。同级还有\(O(1)\)个和我一起来考的。目录Day0(2024.6.6)Day1语文Day499122178数学Day2物理Day499122179英语Day3化学Day499122180生物Day332748121Day0(2024.6.6)来到考点,熟悉了一下路线。然后就是各科老......
  • 深入对比:Transformer 与 RNN 的详细解析
    在自然语言处理(NLP)和机器学习领域,模型的选择对任务的成败至关重要。Transformer和RNN(递归神经网络)是两种流行但截然不同的模型架构。本文将深入探讨这两种架构的特点、优势、劣势,并通过实际案例进行比较。1.RNN(递归神经网络)1.1RNN简介RNN是一种处理序列数据的神经......
  • [AI Google] 使用 Gemini 取得更多成就:试用 1.5 Pro 和更多智能功能
    总结Google正在为超过35种语言的GeminiAdvanced订阅者推出Gemini1.5Pro。此次更新包括100万个token的上下文窗口、改进的数据分析功能和增强的多模态图像理解。新功能包括用于自然对话的GeminiLive、先进的规划工具和可定制的Gems。更新还集成了更多Googl......
  • OSI七层模型与TCP\IP四层模型
    1、OSI(OpenSystemsInterconnection)七层模型是由国际标准化组织(ISO)提出的一个理论框架,用于描述网络通信的过程。这个模型将网络通信的功能分为七个独立的层级,每一层都负责特定的任务,并且依赖于其下一层提供的服务。下面是OSI七层模型的详细解释:1.**应用层(ApplicationLayer......