当前位置: 首页 > news >正文

数据结构,问题 C: 后缀表达式

题目描述

所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。

如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。

输入

后缀表达式(保证只包含+-*/四种操作符号,结果在int范围内)

输出

表达式的值

样例输入 复制
3.5.2.-*7.+@
样例输出 复制
16
#include<bits/stdc++.h>
using namespace std;stack<int> st;int main(){string a;getline(cin, a);int num = 0;for(int i = 0;a[i] != '@';i ++){if(a[i] <= '9' && a[i] >= '0'){num = num * 10 + (a[i] - '0');}else if(a[i] == '.'){st.push(num);num = 0;}else {int x,y;y = st.top(),st.pop();x = st.top(),st.pop();switch (a[i]){case '+' :st.push(x + y);break;case '-':st.push(x - y);break;case '*':st.push(x * y);break;case '/':st.push(x / y);break;default : break;}}}cout << st.top() << '\n';return 0;
}

 


http://www.mrgr.cn/news/62929.html

相关文章:

  • 【VS中Git同步提交 报错:访问.vs/FileContentIndex/xxx.vsidx权限不允许】
  • 几种基础的激活函数及其实现
  • ts:数组的常用方法(filter)
  • Golang高级语法-工具链
  • Unreal Engine 5 C++(C#)开发:使用蓝图库实现插件(一)认识和了解Build.cs
  • Chromium127编译指南 Linux篇 - 额外环境配置(五)
  • 《别了,浔川社团官方;你好,浔川社团官方联合会》
  • 很抽象但是好用的方法打败Vue框架第一天-Vue项目构建原神前端界面(Vue+js+html+css+jquery)
  • 搭建WIN32的开发环境
  • 高并发设计模式之ForkJoin模式
  • 客户的奇葩要求—在CAN网络的基础上加入了CAN_FD的节点
  • Redis(持续更新ing。。。)
  • 贪心算法习题其二【力扣】【算法学习day.18】
  • Rust 力扣 - 1343. 大小为 K 且平均值大于等于阈值的子数组数目
  • 博图V19的DB块,批量导入组态王
  • 如何去掉idea的Usage提示
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-9
  • 关于自动驾驶等级相关知识
  • OpenCV与AI深度学习 | 基于OpenCV和深度学习预测年龄和性别
  • “换行”与“回车”
  • 深度数据修复软件哪个好?盘点2024年好用的4个数据恢复工具。
  • Redis新数据类型
  • 科研修图Adobe全家桶access
  • ANA基因组数据库(ANAgdb)
  • 【Leetcode】单调栈
  • 强化学习DQN实践(gymnasium+pytorch)