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

题解:洛谷 P1449 后缀表达式

【题目来源】

洛谷:P1449 后缀表达式 - 洛谷

【题目描述】

所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。

如:\(3*(5-2)+7\) 对应的后缀表达式为:\(3.5.2.-*7.+@\)。在该式中,@ 为表达式的结束符号。. 为操作数的结束符号。

【输入】

输入一行一个字符串 \(s\),表示后缀表达式。

【输出】

输出一个整数,表示表达式的值。

【输入样例】

3.5.2.-*7.+@

【输出样例】

16

【解题思路】

image

【算法标签】

《洛谷 P1449 后缀表达式》 #模拟# #字符串# #线性数据结构# #栈#

【代码详解】

#include <bits/stdc++.h>
using namespace std;const int N = 255 + 10;  // 定义栈的最大容量int s[N];                // 栈数组,用于存储操作数
string str;              // 存储输入的后缀表达式
int top = 0;             // 栈顶指针,初始为0// 执行运算操作
void eval(char c)
{int b = s[top--];  // 弹出栈顶元素作为第二个操作数int a = s[top--];  // 弹出栈顶元素作为第一个操作数// 根据运算符执行相应计算switch(c) {case '+': s[++top] = a + b;  // 加法运算break;case '-':s[++top] = a - b;  // 减法运算break;case '*':s[++top] = a * b;  // 乘法运算break;case '/':s[++top] = a / b;  // 除法运算break;}
}int main()
{// 读取输入的后缀表达式(带空格)getline(cin, str);// 遍历表达式中的每个字符for (int i = 0; i < str.size() - 1; i++) {// 处理数字字符if (str[i] >= '0' && str[i] <= '9') {int d = 0, j = i;// 将连续的数字字符转换为整数while (str[j] != '.') {d = d * 10 + (str[j] - '0');j++;}i = j;  // 跳过已处理的数字字符s[++top] = d;  // 将数字压入栈中}// 处理运算符(忽略空格)else if (str[i] != ' ') {eval(str[i]);  // 执行运算}}// 输出最终的计算结果(栈顶元素)cout << s[top] << endl;return 0;
}

【运行结果】

3.5.2.-*7.+@
16
http://www.jsqmd.com/news/390147/

相关文章:

  • 【GitHub项目推荐--OpenAkita:自我进化的开源AI助手框架】⭐⭐⭐
  • Java8 有哪些新特性?
  • 【GitHub项目推荐--ZeroClaw:零开销、零妥协的Rust原生AI助手基础设施】⭐⭐⭐
  • Java 方法重载和方法重写之间的区别是什么?
  • 什么是 Java 内部类?它有什么作用?
  • Java 面向对象编程与面向过程编程的区别是什么?
  • sdut-Java面向对象-05 类和对象(函数题:12-22题)完整教程:从入门到实战部署
  • 深入理解AVL树:从概念到完整C++实现详解 - 教程
  • 想选专业保健品品牌?2026年这些值得关注!保健饮品/养胃颗粒/保健品,保健品品牌推荐排行榜 - 品牌推荐师
  • 校园失物招领|基于Python + Django校园失物招领系统(源码+数据库+文档)
  • 想选江苏口碑好的车铣复合培训职校?2026年选择攻略来了,车铣复合培训/非标机械设计培训,车铣复合培训职业学校口碑排行 - 品牌推荐师
  • 学生信息管理|基于Python + Django学生信息管理系统(源码+数据库+文档)
  • 题解:洛谷 P1825 [USACO11OPEN] Corn Maze S
  • 仓库管理|基于Python + Django仓库管理系统(源码+数据库+文档)
  • 智慧社区|基于Python + Django智慧社区系统(源码+数据库+文档)
  • 从大模型到场景应用如何破解AI“最后一公里”难题?
  • 酒店客房管理|基于Python + Django酒店客房管理系统(源码+数据库+文档)
  • 小白程序员必看:注意力机制的革命性演进与大模型学习指南
  • 学生宿舍管理|基于Python + Django学生宿舍管理系统(源码+数据库+文档)
  • 提示工程架构师必备知识:评估体系相关的10个核心学术论文解读
  • 风口已至!AI大模型就业市场热度飙升,小白程序员轻松入门大模型,抢占未来职业风口!
  • 数据中台与AI中台融合:构建智能数据服务体系
  • 新手/程序员必看!大模型学习指南:MCP协议全解析
  • 题解:洛谷 P1032 [NOIP 2002 提高组] 字串变换
  • AI大模型就业指南:大模型热门就业方向有哪些?非常详细收藏我这一篇就够了
  • 大模型能做什么?一份能力清单与避坑指南
  • 题解:洛谷 P1162 填涂颜色
  • Doris在大数据媒体行业的应用实践
  • 题解:洛谷 P1596 [USACO10OCT] Lake Counting S
  • 题解:洛谷 P2404 自然数的拆分问题