news 2026/4/30 22:13:22

题解:AcWing 6027 后缀表达式的值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
题解:AcWing 6027 后缀表达式的值

本文分享的必刷题目是从蓝桥云课洛谷AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

AcWing:6027. 后缀表达式的值 - AcWing题库

【题目描述】

从键盘读入一个后缀表达式(字符串),只含有0 − 9 0-909组成的运算数及加(+)、减(-)、乘(*)、除(/)四种运算符。

每个运算数之间以及运算数和运算符之间用单个空格隔开,不需要判断给你的表达式是否合法。

@作为结束标志。

比如,16–9*(4+3)转换成后缀表达式为:16 9 4 3 +*-,在字符数组 中的形式为:

栈中的变化情况:

运行结果为− 47 -4747

【输入】

一个字符串表示给定后缀表达式。

【输出】

一个整数,表示给定后缀表达式的值。

【输入样例】

16 9 4 3 +*-@

【输出样例】

-47

【算法标签】

#栈#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;stack<LL>stk;// 运算数栈,用于后缀表达式计算// 计算函数:根据运算符c计算a和b的结果LLcalc(LL a,LL b,charc){switch(c)// 根据运算符进行相应计算{case'+':// 加法{returna+b;}case'-':// 减法{returna-b;}case'*':// 乘法{returna*b;}case'/':// 除法{returna/b;}default:// 默认情况(不应该发生){return0;}}}intmain(){chars[260];// 输入字符串缓冲区LL num=0;// 当前正在读取的数字boolreadingNum=false;// 标记是否正在读取数字// 读取一行输入,直到遇到换行符cin.getline(s,260);// 遍历输入字符串,直到遇到'@'结束符for(inti=0;s[i]!='@';++i){if(s[i]>='0'&&s[i]<='9')// 如果是数字字符{num=num*10+(s[i]-'0');// 构建多位数readingNum=true;// 标记正在读取数字}elseif(s[i]==' ')// 如果是空格(数字结束符){if(readingNum)// 只有在读取了数字后才压栈{stk.push(num);// 将完整数字压入栈num=0;// 重置数字readingNum=false;// 标记数字读取结束}}else// 如果是运算符{// 如果前面有数字未压栈,先压栈if(readingNum){stk.push(num);num=0;readingNum=false;}// 从栈中弹出两个操作数LL b=stk.top();// 第二个操作数stk.pop();LL a=stk.top();// 第一个操作数stk.pop();// 计算并将结果压回栈中stk.push(calc(a,b,s[i]));}}// 输出栈顶元素(最终计算结果)cout<<stk.top();return0;// 程序正常结束}

【运行结果】

16 9 4 3 +*-@ -47
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 22:09:07

昆明靠谱装修设计工作室大盘点,这些宝藏之选你知道吗?

在昆明&#xff0c;装修设计工作室众多&#xff0c;如何从中挑选出靠谱的工作室成为了众多业主的难题。今天&#xff0c;就为大家详细盘点一下昆明靠谱的装修设计工作室&#xff0c;其中&#xff0c;云南胡桃善锦装饰工程有限公司&#xff08;胡桃善锦原创设计&#xff09;更是…

作者头像 李华
网站建设 2026/4/30 22:04:58

Taotoken的按Token计费模式如何让开发预算更可控

Taotoken 的按 Token 计费模式如何让开发预算更可控 1. 细粒度计费与成本透明化 Taotoken 平台采用按 Token 消耗量计费的模式&#xff0c;这种机制将 API 调用成本精确到每个 Token 的使用。开发者可以在控制台的用量看板中实时查看每笔请求的 Token 消耗明细&#xff0c;包…

作者头像 李华
网站建设 2026/4/30 22:04:07

财务健康度大比拼:如何用熵权TOPSIS法给9家公司5年表现打分?

财务健康度全景评估&#xff1a;熵权TOPSIS法在面板数据分析中的实战应用 当投资经理面对9家上市公司连续五年的财务数据时&#xff0c;如何穿透繁杂的报表数字&#xff0c;提炼出真正反映企业财务健康度的综合评分&#xff1f;传统单一指标对比或主观赋权方法往往失之偏颇&…

作者头像 李华