题目描述

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

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

输入输出格式

输入格式:

输入:后缀表达式

输出格式:

输出:表达式的值

输入输出样例

输入样例#1:

3.5.2.-*7.+@
输出样例#1:

16

说明

字符串长度,1000内。

只要用STL stack就可以了

遇到数字就记下来,遇到点号就把当前数字压栈

遇到操作符就从栈顶取两个数字进行运算

 1 #include<cstdio>
2 #include<algorithm>
3 #include<iostream>
4 #include<stack>
5 #include<cstring>
6 using namespace std;
7 char s[1010];
8 stack<int> st;
9 int main()
10 {
11 int tmp=0,t;
12 gets(s);
13 int len=strlen(s);
14 for (int i=0;i<len-1;i++) {
15 if (s[i]>='0' && s[i]<='9') {
16 tmp=tmp*10+s[i]-'0';
17 }
18 else {
19 if (s[i]=='.') {
20 st.push(tmp);
21 tmp=0;
22 }
23 else {
24 int x,y;
25 x=st.top(); st.pop();
26 y=st.top(); st.pop();
27 switch (s[i]) {
28 case '+' : {
29 t=y+x;
30 st.push(t);
31 break;
32 }
33 case '-' : {
34 t=y-x;
35 st.push(t);
36 break;
37 }
38 case '*' : {
39 t=y*x;
40 st.push(t);
41 break;
42 }
43 case '/' : {
44 t=y/x;
45 st.push(t);
46 break;
47 }
48 }
49 }
50 }
51 }
52 printf("%d\n",st.top());
53 return 0;
54 }

最新文章

  1. GitHub的多人协同开发配置
  2. [Node.js] Node.js中的流
  3. Linux常用服务部署与优化之Samba篇
  4. 【jQuery 分页】jQuery分页功能的实现
  5. 我也要学iOS逆向工程--全局变量
  6. Oracle游标整理二
  7. kubernetes源码解析---- apiserver路由构建解析(1)
  8. iConvert Icons 图标转换生成利器,支持Windows, Mac OS X, Linux, iOS,和Android等系统
  9. 20141201--JS Window
  10. 在ios中解析json数据
  11. Storm 1.0.0
  12. 【Android Developers Training】 70. 使用ViewPager实现屏幕滑动
  13. mongodb 3.6 集群搭建:分片+副本集
  14. C#VS2017添加ReportViewer控件
  15. 异常:Data = 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
  16. Educational Codeforces Round 33 (Rated for Div. 2) F. Subtree Minimum Query(主席树合并)
  17. 让Logstash每次都从头读文件及常见问题
  18. linux一些基本常识(四)
  19. 函数防抖与函数节流 封装好的debounce和throttle函数
  20. 混沌数学之拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)

热门文章

  1. spring-session-data-redis反序列化问题
  2. MySQL-02-体系结构
  3. miniFTP项目实战二
  4. C#10在List, Queue 以及Stack中使用EnsureCapacity方法来提升性能
  5. 【Python机器学习实战】决策树和集成学习(二)——决策树的实现
  6. NOIP 模拟 $30\; \rm 毛二琛$
  7. C#中的垃圾回收
  8. WPF---数据绑定之Xml数据源(四)
  9. idea项目在maven projects中显示灰色的解决办法。建新建module src变成标准的文件夹
  10. Linux centos 安装 mysql 5.7