7-323 逆波兰表达式 (10 分)

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

输入格式:

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

输出格式:

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

提示

可使用atof(str)把字符串转换为一个double类型的浮点数。atof定义在math.h中。 此题可使用函数递归调用的方法求解。

输入样例:

* + 11.0 12.0 + 24.0 35.0

结尾无空行

输出样例:

1357.000000

结尾无空行

#include<iostream>
using namespace std;
double exp(){char s[20];cin >> s;switch(s[0]){case '+':return exp()+exp();case '-':return exp()-exp();case '*':return exp()*exp();case '/':return exp()/exp();default:    return atof(s);break;}
}
int main(){printf("%.6lf",exp());return 0;
}

7-323 逆波兰表达式 (10 分)相关推荐

  1. 算法一:递归(包含Hanoi问题、N皇后问题、逆波兰表达式、爬楼梯、放苹果、全排列)

    递归 递归在算法中具有很重要的地位,也是很多学习编程的初学者非常头疼的问题,看我的这篇文章,希望能为还处于迷雾中的你带来希望 首先我们要知道递归的作用: 1.可替代多重循环 2.解决本来就是用递归形式 ...

  2. 栈、波兰表达式、逆波兰表达式

    一.栈的简介及其基本操作 栈的介绍 1)栈的英文为(stack) 2)栈是一个先入后出(FILO-First In Last Out)的有序列表 3)栈(stack)是限制线性表中元素的插入和删除只能 ...

  3. LeetCode实战:逆波兰表达式求值

    题目英文 Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are ...

  4. LetCode: 150. 逆波兰表达式求值

    提示 LintCode中的相关算法题实现代码,可以在我的GithHub中下载. 题目需求 根据逆波兰表示法,求表达式的值. 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另 ...

  5. 简单计算器 逆波兰表达式

    问题 C: 悠派计算器 时间限制: 1 Sec  内存限制: 128 MB 提交: 7  解决: 2 [提交][状态][讨论版][命题人:qianyouyou] 题目描述 yoyo的小老弟小渣渣灰特别 ...

  6. 【栈】【150. 逆波兰表达式求值】【中等】(需回顾)

    根据逆波兰表示法,求表达式的值. 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话说 ...

  7. 征战蓝桥 —— 2013年第四届 —— C/C++A组第6题——逆波兰表达式

    标题:逆波兰表达式 正常的表达式称为中缀表达式,运算符在中间,主要是给人阅读的,机器求解并不方便. 例如:3 + 5 * (2 + 6) - 1 而且,常常需要用括号来改变运算次序. 相反,如果使用逆 ...

  8. 调度场算法与逆波兰表达式

    本文的主要内容是如何求一个给定的表达式的值,具体思路就是先将普通算术的中缀表达式转化为后缀表达式,这一步用到的算法叫做调度场算法.然后对后缀表达式,也就是逆波兰表达式求值. 题目:http://acm ...

  9. 逆波兰计算器android源码简书,计算器的核心算法-JavaScript实现(逆波兰表达式)...

    最终计算器的掩饰效果,欢迎大家来找BUG. http://codepen.io/lvanboy/full/LxKVxJ/ 功能: 1.按照运算符的优先级运算 2.利用上次的结果继续运算 3.多个数字混 ...

最新文章

  1. MySQL/MariaDB基础及简单SQL语句
  2. 【Java】Integer.valueOf()
  3. 自动化测试和手工测试
  4. linux搭建vsftp服务器_Linux安装配置vsftp搭建FTP的详细配置
  5. 【Python CheckiO 题解】Largest Rectangle in a Histogram
  6. java并发编程——线程池的工作原理与源码解读
  7. Python list倒序遍历(reversed )
  8. Core Animation 文档翻译 (第二篇)—核心动画基础要素
  9. Python-Matplotlib 7 饼状图
  10. mysql字符串拼接返回
  11. 马哥Python培训怎么样——再次革命性升级
  12. 分享12个高质量的PPT图片素材下载站
  13. 服务器Socket概述与实例
  14. wps中复制公式到另一个文档变成图片,wps怎么调整公式的高度,wps在一页中设置一栏和两栏
  15. MEM/MBA 写作-论证有效性分析(04)逻辑缺陷-偷换概念以偏概全
  16. 用java画太阳图_使用Java制作太阳系模型(3)
  17. 一起打造自己的自动驾驶小车mycar - 4.手柄控制小车移动
  18. Spring Boot技术栈博客企业前后端
  19. jsp网上招标系统毕业设计
  20. 苏宁商品详情API接口(商品详情页面数据接口)

热门文章

  1. 验证Vsphere 5 支持大于2TB磁盘
  2. php从注册列表卸载,MSSQL_彻底删除SQL Server注册表的方法,一般在卸载完数据库时,大家 - phpStudy...
  3. Mybatis的案例和接口代理开发和模板配置
  4. Linux的useradd
  5. Loadrunner录制+运行+结果-【飞机订票系统实战】
  6. BZOJ 1192 [HNOI2006]鬼谷子的钱袋 (思维)
  7. 只有在人生的最低处才能看清这个世界
  8. appium-andriod自动化实现注意项
  9. LeetCode——Word Break
  10. Ubuntu使用——11(thinkPHP 5在Ubuntu上学习总结)