洛谷P1449——后缀表达式(栈模拟)
2024-09-08 06:28:59
题目描述
所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。
如: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 }
最新文章
- GitHub的多人协同开发配置
- [Node.js] Node.js中的流
- Linux常用服务部署与优化之Samba篇
- 【jQuery 分页】jQuery分页功能的实现
- 我也要学iOS逆向工程--全局变量
- Oracle游标整理二
- kubernetes源码解析---- apiserver路由构建解析(1)
- iConvert Icons 图标转换生成利器,支持Windows, Mac OS X, Linux, iOS,和Android等系统
- 20141201--JS Window
- 在ios中解析json数据
- Storm 1.0.0
- 【Android Developers Training】 70. 使用ViewPager实现屏幕滑动
- mongodb 3.6 集群搭建:分片+副本集
- C#VS2017添加ReportViewer控件
- 异常:Data = 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
- Educational Codeforces Round 33 (Rated for Div. 2) F. Subtree Minimum Query(主席树合并)
- 让Logstash每次都从头读文件及常见问题
- linux一些基本常识(四)
- 函数防抖与函数节流 封装好的debounce和throttle函数
- 混沌数学之拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)
热门文章
- spring-session-data-redis反序列化问题
- MySQL-02-体系结构
- miniFTP项目实战二
- C#10在List, Queue 以及Stack中使用EnsureCapacity方法来提升性能
- 【Python机器学习实战】决策树和集成学习(二)——决策树的实现
- NOIP 模拟 $30\; \rm 毛二琛$
- C#中的垃圾回收
- WPF---数据绑定之Xml数据源(四)
- idea项目在maven projects中显示灰色的解决办法。建新建module src变成标准的文件夹
- Linux centos 安装 mysql 5.7