洛谷 || 后缀表达式
小Bob 小Bob Bob来啦
2021年01月20日 23:20 __ _ _ _ _

我们生命的每一天,都是在时间中的旅行。我们所能做的就是,尽我们所能,珍惜这段美妙的旅程。We’re all travelling through time
together every day of our lives. All we can do is do our best to relish this
remarkable ride.
——《时空恋旅人》· 理查德·柯蒂斯

题目描述
所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。
如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。
## 输入格式
输入:后缀表达式
## 输出格式
输出:表达式的值
输入输出样例
输入
3.5.2.-*7.+@
输出
16
说明/提示字符串长度,1000内。** 源代码: **
#include <stdio.h>int main(){ char ch; int num[1005], cnum = 0; int a = 0; while(scanf("%c", &ch), ch !='@'){ if(ch == '+'){ num[a - 2] = num[a - 1] + num[a - 2]; a--; } else if(ch == '-'){ num[a - 2] = num[a - 2] - num[a - 1]; a--; } else if(ch == '*'){ num[a - 2] = num[a - 2] * num[a - 1]; a--; } else if(ch == '/'){ num[a - 2] = num[a - 2] / num[a - 1]; a--; } else if(ch =='.'){ num[a] = cnum; a++; cnum = 0; } else cnum = cnum * 10 + (ch - '0'); } printf("%d", num[0]); return 0;}
运行结果:


**最后的话:****刷题要找自己的不足,然后去专攻。 ** ** ** ** 往期推荐: **
Python爬虫系列:浅谈爬虫 2021-01-12
如何更巧妙的玩转服务器(使用Xshell连接) 2021-01-06
十二月碎碎念 || 2020翻过的每一页,都弥足珍贵(附年终总结) 2021-01-01
为你,千千万万遍.
关注 程序员Bob 公众号,与你一起终生学习

一键三连,就差你了
预览时标签不可点
阅读
__
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小Bob的博客!











