逆波兰表达式求值
发布日期:2021-07-27 19:48:15
浏览次数:4
分类:技术文章
本文共 659 字,大约阅读时间需要 2 分钟。
逆波兰表达式:
逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。
大体思路:
利用递归,每碰到一个运算符就递归相应的运算两次。
代码实现:
#include#include #include #include #include using namespace std;double RPN(){ char s[15]; cin>>s; if(s[0]=='+')//遇到运算符,对应相应的计算。并递归 return RPN()+RPN(); else if(s[0]=='-') return RPN()-RPN(); else if(s[0]=='*') return RPN()*RPN(); else if(s[0]=='/') return RPN()/RPN(); else return atof(s);//将字符串转变为浮点型数据}int main(){ double ans=RPN(); cout< <
转载地址:https://blog.csdn.net/SCaryon/article/details/56026250 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年09月27日 00时18分15秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
京东技术架构(一)构建亿级前端读服务
2019-05-27
php 解决json_encode中文UNICODE转码问题
2019-05-27
LNMP 安装 thinkcmf提示404not found
2019-05-27
PHP empty、isset、innull的区别
2019-05-27
apache+nginx 实现动静分离
2019-05-27
通过Navicat远程连接MySQL配置
2019-05-27
phpstorm开发工具的设置用法
2019-05-27
Linux 系统挂载数据盘
2019-05-27
Git基础(三)--常见错误及解决方案
2019-05-27
Git(四) - 分支管理
2019-05-27
PHP Curl发送数据
2019-05-27
HTTP协议
2019-05-27
HTTPS
2019-05-27
git add . git add -u git add -A区别
2019-05-27
apache下虚拟域名配置
2019-05-27
session和cookie区别与联系
2019-05-27
PHP 实现笛卡尔积
2019-05-27
Laravel中的$loop
2019-05-27
CentOS7 重置root密码
2019-05-27