题目描述
所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。
如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。
优快云显示可能有问题,不允许外链转存,大家可以在我的博客中阅读:My Blog
##解析思路
本题也是对于栈的较为直接的考察,我们可以直接选择建立一个栈来存储我们的每次输入的数字,然后遇到一个符号就弹出两个数来进行运算,运算的结果再入栈,最后运算结束之后,栈中只会剩下最后一个数,就是我们的结果。
注意这里面我们读取数字的时候是以字符串读取的,有可能会读取多位数比如13、122这种,所以需要注意读取问题,不过这一题还算简单,没有让我们读取负数
代码
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int stack[1000

最低0.47元/天 解锁文章
1419

被折叠的 条评论
为什么被折叠?



