题目选自洛谷P1449

阅读一个后缀表达式的方法是:从左往右读式子,一旦遇到运算法,就往前取n个数,这个n取决于运算法有多少个参数,然后擦掉这些参数和这个运算符,把计算的结果写在那里。接下来重复刚才的操作,知道表达式中只剩下一个数为止。

题目描述

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

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

输入格式

输入:后缀表达式

输出格式

输出:表达式的值

输入输出样例

输入 1

3.5.2.-*7.+@

输出 1

16

说明/提示

字符串长度,1000内。

解题代码:

#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<string.h>
#include<stack>
using namespace std;
int s = 0,x,y;
stack<int> n;
int main(){char ch;do{ch = getchar();if(ch >= '0' && ch <= '9')s = s*10 + ch-'0';else if(ch =='.')n.push(s),s = 0;else if(ch != '@'){x = n.top(); n.pop(); y = n.top(); n.pop();switch(ch){case '+':n.push(x + y);break;case '-':n.push(y - x);break;case '*':n.push(x * y);break;case '/':n.push(y / x);break;}}}while(ch != '@');cout<<n.top()<<endl;return 0;
}

栈——后缀表达式(洛谷 P1449)相关推荐

  1. 信息学奥赛一本通 2006:【20CSPJ普及组】表达式 | 洛谷 P7073 [CSP-J2020] 表达式

    [题目链接] ybt 2006:[20CSPJ普及组]表达式 洛谷 P7073 [CSP-J2020] 表达式 [题目考点] 后缀表达式 表达式树 通过后缀表达式建立表达式树: 遍历后缀表达式字符串: ...

  2. UESTC--ICODING栈 后缀表达式计算

    UESTC--ICODING栈 后缀表达式计算 题目: 相关定义如下: 代码: 文章供学习交流参考 题目: 请使用已定义好的栈完成后缀表达式计算: (1)如果是操作数,直接入栈 (2)如果是操作符op ...

  3. 基于栈的后缀表达式求值(洛谷P1449题题解,Java语言描述)

    题目要求 P1449题目链接 分析 给出后缀表达式求值,就相当于没了括号,而且很直接. 我们需要使用栈结构来完成任务. Java原装的栈使用了很多synchronized,导致性能不佳,但我们也就将就 ...

  4. 栈——括号匹配(洛谷 Uva673)

    题目选自洛谷Uva673 括号匹配是和栈有关的经典算法问题 每次入栈的时候判断栈的顶部是不是这个符号的另一半,如果是就pop并且这个符号也不入栈,如果不是就入栈.最后判断栈是否为空,如果为空,说明正确 ...

  5. 括号匹配不一定用栈哦(洛谷P1739题题解,Java语言描述)

    说明 有点标题党,严格地说,括号匹配用栈做比较规范. 问题是下面这题有点水啊,简便点大家都开心~~ 题目要求 P1739题目链接 分析 题目太水,所以说我们可以认为什么各种异常不会出现. 只需要--简 ...

  6. 备战NOI 数据结构——栈与单调栈(stack) 以及后缀表达式

    栈 stack 引入 栈的概念 代码实现 定义和初始化(init) 入栈(push) 出栈(pop) 访问栈顶元素(query) 查询栈的元素个数(size) 判断是否为空(empty) 清空栈(cl ...

  7. 刁肥宅手笔:纯C语言利用链栈实现从后缀表达式Array中顺序输入表达式并求值

    链栈+后缀表达式求值算法,借用我自己上次C语言写的链栈,详细实现代码如下: 头文件C_Stack.h: /*C_Stack.h*/#ifndef C_STACK_H_INCLUDED #define ...

  8. 中缀表达式转后缀表达式算法思想

    算法: 中缀表达式转后缀表达式的方法: 1.遇到操作数:直接输出(添加到后缀表达式中) 2.栈为空时,遇到运算符,直接入栈 3.遇到左括号:将其入栈 4.遇到右括号:执行出栈操作,并将出栈的元素输出, ...

  9. 【Python】洛谷 P1175_表达式的转换(逆波兰式、中缀表达式、后缀表达式、栈)

    目录 题目 代码 AC截图 题目 代码 碎碎念:我用来复习栈的,刷了巨长时间,一直Runtine Error,编译直接就没有过. 好家伙,然后发现是数据给的不够严谨,左右两端有空格,使用strip() ...

最新文章

  1. Nat Rev Genet发表房刚组细菌表观组综述论文
  2. Linux—shell中$(( ))、$( )、``与${ }的区别
  3. 通俗易懂解释一下C++的构造函数是怎样的呢?
  4. 获取单选框的值有5种方式:
  5. 多元化思维其二:“马太效应”之道
  6. 【WC2018】通道【边分治】【虚树】【树的直径】
  7. Linux创建、删除文件和文件夹命令
  8. 本题要求实现一个用选择法对整数数组进行简单排序的函数。_通俗易懂讲 Python 算法:快速排序...
  9. Springboot实现邮件发送(2020最新版)
  10. 面试被问 Go 的map[int64]int64 在 redis 会占多少空间...
  11. access 打印预览 代码_TSC TTP-244条码打印机如何批量打印二维码
  12. python数据分析报告范文_Python数据实战分析之定量和定性数据分析
  13. php preview,preview.php
  14. html 两个表合并,SQL中将两个表合并成一个新表
  15. c#中excel文件怎么转换为dbf文件
  16. python博弈论代码_博弈论的算法总结
  17. 《穿越计算机的迷雾》读书笔记
  18. voa android tv,VoAACEncoder
  19. Flink 1.10之改进的TaskManager内存模型与配置/taskmanager.memory.network.fraction
  20. 苹果手机开机一会显示无服务器,苹果手机出现无信号的解决方法

热门文章

  1. android sdcard文件存储 + 媒体库更新方法
  2. 循序渐进学Python:安装、使用与运行程序
  3. opensource项目_最佳Opensource.com:硬件
  4. 善解人意,改善您的在线关系
  5. JS模块化(立即执行函数)
  6. includes(), startsWith(), endsWith()
  7. oracle raw类型 索引,为什么RAW数据类型可以建立索引,但是不走索引
  8. scara机器人本体介绍
  9. centos7 python3安装numpy_centos下pip3安装numpy
  10. boot空间不足 linux,linux——boot空间不足