C++ 逆波兰表达式
题目描述
逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。
逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。
输入格式
输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。
输出格式
输出为一行,表达式的值。计算结果保留5位小数。
样例">输入输出样例
输入 #1
* + 11.0 12.0 + 24.0 35.0
输出 #1
1357.00000
说明/提示
cstdlib头文件中的atof函数能把char型字符数组转换成浮点数。
答案:
#include <bits/stdc++.h>
using namespace std;
char s[101];
double h;
double e(){scanf("%s",s);switch(s[0]){case '+':h=e()+e();break;case '-':h=e()-e();break;case '*':h=e()*e();break;case '/':h=e()/e();break;default:h=atof(s);}return h;
}
int main(){printf("%.5lf",e()); return 0;
}
求点赞!
C++ 逆波兰表达式相关推荐
- LeetCode实战:逆波兰表达式求值
题目英文 Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are ...
- 【Java】LeetCode 150. 逆波兰表达式求值 (后缀表达式)
题目: 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话 ...
- 数据结构:后缀表达式(逆波兰表达式)
逆波兰表达式计算 package com.atchina.stack;import java.util.ArrayList; import java.util.List; import java.ut ...
- 数据结构:前缀,中缀,后缀表达式(逆波兰表达式)
前缀表达式(波兰表达式) 前缀表达式的运算符位于操作数之前. 比如 (1+2)*3-4 对应的前缀表达式就是: - * + 1 2 3 4 前缀表达式的计算机求值 从右至左扫描表达式,遇到数字时,就 ...
- LetCode: 150. 逆波兰表达式求值
提示 LintCode中的相关算法题实现代码,可以在我的GithHub中下载. 题目需求 根据逆波兰表示法,求表达式的值. 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另 ...
- Algorithm:C++语言实现之链表相关算法(单链公共结点问题、一般LCA、括号匹配、最长括号匹配、逆波兰表达式Reverse Polish Notation、直方图矩形面积、收集雨水问题)
Algorithm:C++语言实现之链表相关算法(单链公共结点问题.一般LCA.括号匹配.最长括号匹配.逆波兰表达式Reverse Polish Notation.直方图矩形面积.收集雨水问题) 目录 ...
- 简单计算器 逆波兰表达式
问题 C: 悠派计算器 时间限制: 1 Sec 内存限制: 128 MB 提交: 7 解决: 2 [提交][状态][讨论版][命题人:qianyouyou] 题目描述 yoyo的小老弟小渣渣灰特别 ...
- 【栈】【150. 逆波兰表达式求值】【中等】(需回顾)
根据逆波兰表示法,求表达式的值. 有效的运算符包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 说明: 整数除法只保留整数部分. 给定逆波兰表达式总是有效的.换句话说 ...
- 逆波兰表达式简单介绍
逆波兰表达式又叫做后缀表达式.在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,所以,这种表示法也称为中缀表示.波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的 ...
- 【数据结构与算法】之深入解析“逆波兰表达式求值”的求解思路与算法示例
一.题目要求 根据逆波兰表示法,求表达式的值.有效的算符包括 +.-.*./,每个运算对象可以是整数,也可以是另一个逆波兰表达式. 两个整数之间的除法只保留整数部分. 可以保证给定的逆波兰表达式总是有 ...
最新文章
- Blockchain与Big Data将碰撞出怎样的火花?
- Response.Redirect() 跳转中的ThreadAbortException
- 怎么用python做表格-怎么用python画表格?
- 学习笔记Kafka(三)—— Kafka安装配置(2)—— Kafka单代理及常用操作
- 【Android开发】NDK开发(3)-jni开发技巧
- 移动web开发之rem布局(rem基础、媒体查询、 less 基础、rem适配方案)
- Vue.js使用矢量图
- jboss4中手动部署EJB(jboss4.0.2+ejb2.0+j2sdk5.0+xpsp2)
- 请求报文的方法及get与post的区别
- Android 系统(144)---整包升级与差分升级的区别
- cifar10数据集_pytorch入门(四)-数据
- 【原】小程序常见问题整理
- 666的vue.mixin
- 海量数据搜索---搜索引擎的实现
- 命令行玩斗地主,摸鱼再也不怕老板了!
- 公众号话题标签怎样添加
- 编译64位Detours(其他vs版本同理)
- 断糖饮食和蜂蜜冲突吗?断糖减肥可以喝蜂蜜吗?
- Twitter系统结构分析
- bert-pytorch版源码详细解读