1198:逆波兰表达式

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 9734     通过数: 5698

【题目描述】

逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。

【输入】

输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。

【输出】

输出为一行,表达式的值。

可直接用printf("%f\n", v)输出表达式的值v。

【输入样例】

* + 11.0 12.0 + 24.0 35.0

【输出样例】

1357.000000

【分析】

这道题核心思想是碰到运算符,递归求解运算符左边和运算符右边,左右都求完了,就计算结果。注意需要用到 atof 函数。

【参考代码】

#include <stdio.h>
#include <stdlib.h>
char a[20];
double expt()
{scanf("%s",a);switch(a[0]){case '+':return expt()+expt();case '-':return expt()-expt();case '*':return expt()*expt();case '/':return expt()/expt();default:return atof(a);}return a[0];
}
int main()
{double ans=0;ans=expt();printf("%lf\n",ans);return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1198

信息学奥赛一本通(1198:逆波兰表达式)相关推荐

  1. 信息学奥赛一本通 1198:波兰表达式 | OpenJudge NOI 2.2 1696:波兰表达式

    [题目链接] ybt 1198:波兰表达式 OpenJudge NOI 2.2 1696:波兰表达式 注:ybt上描述的其实是波兰表达式,而题目中的文字都是逆波兰表达式,是笔误了,应该当做波兰表达式看 ...

  2. 信息学奥赛一本通 1358:中缀表达式值(expr)

    [题目链接] ybt 1358:中缀表达式值(expr) [题目考点] 1. 表达式求值 中缀表达式转后缀表达式 后缀表达式求值 [解题思路] 由于题目要求做中缀表达式转为后缀表达式,而后求值.那么这 ...

  3. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  4. 信息学奥赛一本通超详细题解,动画图文题解

    内容来源于微信公众号:大神编程.已经过原文作者授权. 更新时间:2020-11-5 现在开始更新基础算法题. 个人感言:从未见过如此详细的题解,动画.图文结合,适合任何水平的选手.尤其是特别适合自学的 ...

  5. 逆波兰表达式(信息学奥赛一本通-T1198)

    [题目描述] 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3.逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + ...

  6. 1198:逆波兰表达式

    1198:逆波兰表达式    <这里应该是波兰表达式(前缀表达式),而逆波兰指的是后缀表达式> 时间限制: 1000 ms         内存限制: 65536 KB [题目描述] 逆波 ...

  7. 1198:逆波兰表达式(递归,前缀表达式,波兰表达式)

    前言:题干描述有问题 题干明明是前缀表达式呀,前缀表达式就是波兰表达式,怎么能叫逆波兰表达式呢?所以题目描述有问题! 逆波兰表达式,也叫后缀表达式 : 举例:a+b  --> a b +. 波兰 ...

  8. 1198:逆波兰表达式(递归)

    [题目描述] 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3.逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + ...

  9. 信息学奥赛一本通OJ勘误

    信息学奥赛一本通OJ 是面向信奥初学者的很好用的OJ,感谢网站作者的的耐心制作. 尽管如此,该网站还是有一些错误,在此指明.瑕不掩瑜,希望网站作者早日修正. 1198:逆波兰表达式 题目中概念错误,应 ...

最新文章

  1. linux基础学习(二)
  2. TortoiseGit配置密钥的方法
  3. 传统企业应用转型--从0到1的微服务之路
  4. BPI:bit for Webduino WEB:Bit 教育版平台正式发布,支持离线安装使用
  5. OperationalError: (1044, Access denied for user ''@'localhost' to database 'mydb')
  6. 【刷题】LOJ 6011 「网络流 24 题」运输问题
  7. Oracle中主键自增长
  8. 在STM32CubeMX生成的MDK5工程上添加RT-Thread Nano后双击工程名无法打开.map文件的解决方法
  9. 设计模式 之 建造者
  10. 关于视频监控线缆的常识
  11. Office文档修复介绍之:laola文件格式介绍
  12. 2022年 接口测试高频面试题及答案
  13. df pd 属性_pd.DataFrame()函数解析
  14. 北京航空航天大学、浙江大学等27支海内外高校队伍晋级ASC超算大赛总决赛
  15. 一键AI着色,黑白老照片画面瞬间鲜活
  16. 调节e18-d80nk的测量距离_没有倒车影像,用这个方法判断后方墙壁距离,这个距离感这样练习...
  17. 我不小心删除了dwm.exe。就是桌面窗口管理器的那个程序哈哈
  18. xtrabackup全量+增量备份
  19. 闲来没事自己研究了下RBAC
  20. ueditor 编辑器增加css样式_百度编辑器(uedtior)怎么更换样式文件

热门文章

  1. Jwplayer5.10视频拍照(截图)
  2. 任何举动之前,先思考,思考,再思考
  3. 键值数据库LevelDB的优缺点及性能分析
  4. js用递归遍历多维数组_JavaScript树结构操作:查找、遍历、筛选、树结构和列表结构相互转换...
  5. 中国开发者数量全球第二,C 语言一跌再跌!GitHub 年度报告重磅发布
  6. 深入解读 MySQL 底层原理,让性能“飞起来”的方法总结
  7. 开源协议神图介绍 MIT 与 Apache 等
  8. 深度可分离卷积(Xception 与 MobileNet)
  9. 复习-网络编程之IP和端口号
  10. 使用同步机制解决线程安全问题