算法刷题之栈系列P1449-后缀表达式

题目描述


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

如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。

优快云显示可能有问题,不允许外链转存,大家可以在我的博客中阅读:My Blog

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tkmtd2dD-1628094780336)(https://z3.ax1x.com/2021/08/04/fELUWd.png)]

##解析思路


本题也是对于栈的较为直接的考察,我们可以直接选择建立一个栈来存储我们的每次输入的数字,然后遇到一个符号就弹出两个数来进行运算,运算的结果再入栈,最后运算结束之后,栈中只会剩下最后一个数,就是我们的结果。

注意这里面我们读取数字的时候是以字符串读取的,有可能会读取多位数比如13、122这种,所以需要注意读取问题,不过这一题还算简单,没有让我们读取负数

代码


代码如下:

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

int main()
{
   
   
	int stack[1000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值