当前位置: 首页 > news >正文

题解: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
http://www.jsqmd.com/news/727911/

相关文章:

  • 终极网盘直链下载助手:一键获取八大网盘真实下载地址,告别限速烦恼
  • DeepSeek-V4深度解析:技术效率革命如何重塑大模型产业格局
  • 抖音批量下载工具终极指南:免费下载视频、图集、音乐和直播回放
  • 重庆家教真的能帮孩子快速提分吗? - 速递信息
  • 如果把你的三餐全部换成河南人的饮食,你能坚持多久?
  • 从极验滑块验证码看自动化测试:如何用Python模拟用户滑动行为?
  • vulhub系列-83-Gears of War: EP#1(超详细)
  • GPT-Image-2:角色一致性与批量分镜生成实战指南
  • 山洋电气推出60℃耐高温快速打样服务
  • 舒客宝贝咨询伙伴知行咨询 在浙大举办婴童行业私享会 - 速递信息
  • 从三星V9到长江存储Xtacking 4.0:一文看懂2024年各家3D NAND技术路线图(附避坑指南)
  • 终极Illustrator批量替换脚本:5分钟学会10倍效率提升技巧
  • 基金委青年项目a类答辩ppt制作案例模板
  • 原来装太阳能路灯能省这么多电费? - 速递信息
  • 收藏!大模型工程师的日常揭秘:从训练到部署的全流程解析
  • YOLOv5训练loss全是nan?可能是PyTorch版本在‘捣鬼’,实测1.9.1+cu102组合避坑
  • CTF新手必看:Base64隐写术原来这么简单,一个Python脚本就能搞定
  • 濮阳GEO选哪家才不踩坑? - 速递信息
  • 2026年B2B企业公关软文分发服务商选型,关投强公关软文分发效果解析 - 发稿平台推荐
  • net-snmp安装和使用
  • 为内部工具集成 AI 能力时如何选择与接入合适的大模型
  • 从一根琴弦到万物振动:用Python和NumPy手把手复现Fourier分析的诞生时刻
  • 如何让普通鼠标在macOS上超越触控板:Mac Mouse Fix终极指南
  • 2026年阿里云部署OpenClaw/Hermes Agent详解+百炼token Plan速成全攻略教程
  • 非涉密系统
  • Chromium 窗口残留问题深度解析:事件分发与拖拽中断的矛盾与解决
  • 2026年济南婚纱摄影全流程选购与避坑攻略 - 速递信息
  • 全国瓷砖空鼓修复品牌排行 专业实力与场景适配对比 - 奔跑123
  • Qt实战:手把手教你定制QTabWidget的垂直标签页,让文字和图标都“正”过来
  • JVM 类加载机制