c波兰表达式计算.docx

上传人:p** 文档编号:819425 上传时间:2024-03-13 格式:DOCX 页数:3 大小:14.38KB
下载 相关 举报
c波兰表达式计算.docx_第1页
第1页 / 共3页
c波兰表达式计算.docx_第2页
第2页 / 共3页
c波兰表达式计算.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《c波兰表达式计算.docx》由会员分享,可在线阅读,更多相关《c波兰表达式计算.docx(3页珍藏版)》请在第壹文秘上搜索。

1、C+波兰表达式计算波兰表达式(Polishnotation)又称前缀表达式,是一种不需要括号来表示运算优先级的算术表达式。在波兰表达式中,操作符位于操作数之前。例如,表达式”+AB表示,A+B,ro下面是一个使用C+实现波兰表达式计算的示例:ftincludeftinclude#includettinclude#includeintcalculate(conststd:string&expression)std:stacknums;std:stackops;std:mappriority=,+f,1,-f,l,f*,2,72;for(size_ti=0;iexpression.size();+

2、i)charch=expressioni;if(isdigit(ch)intnum-ch-10t;while(i+l=prioritych)intb-nums.top();nums.pop();inta-nums.top();nums.pop();charop-ops.topO;ops.pop();nums.push(priorityop=1?(a+b):(a-b);ops.push(ch);while(!ops.empty()intb-nums.top();nums.pop();inta=nums.top();nums.pop();charop-ops.top();ops.popO;nums.push(priorityop=1?(a+b):(a-b);)returnnums.top();intmain()std:stringexpression=3+5*(2-63)”;std:cout,Result:,calculate(expression)std::endl;return0;)这个程序首先定义了一个calculate函数,用于计算给定的波兰表达式。在这个函数中,我们使用两个栈分别存储操作数和操作符。然后遍历表达式中的每个字符,根据字符的类型执行相应的操作。最后,返回计算结果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > C/C++资料

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!