实验3-栈和队列——表达式求值(2133)
来源:互联网 发布:java健身房信息系统 编辑:程序博客网 时间:2024/06/15 04:38
数据结构实验之栈与队列三:后缀式求值
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic Discuss
Problem Description
对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。
Input
输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。
Output
求该后缀式所对应的算术表达式的值,并输出之。
Example Input
59*684/-3*+#
Example Output
57
Hint
基本操作数都是一位正整数!
代码:
#include<iostream>#include<stack>using namespace std;stack<int> s;int main(){ char c; int a,b,sum; while(cin>>c&&c!='#') { if(c>='0'&&c<='9') s.push(c-'0'); //字符型转化为整型 else { a=s.top(); s.pop(); b=s.top(); s.pop(); if(c=='*') { sum=b*a; s.push(sum); } else if(c=='/') { sum=b/a; s.push(sum); } else if(c=='+') { sum=b+a; s.push(sum); } else if(c=='-') { sum=b-a; s.push(sum); } } } cout<<s.top()<<endl; return 0;}
这个题我真是...不想说什么了 昨天晚上弄到十点多,一直WA,实验室都快没人了还不知道错在哪,虽然我觉得我思路没错(因为数据结构书上是这么写的)。。。今天又看了看,栈的类型弄成char了,我天,你什么时候能不粗心啊。。。
思路:
若ch为数字字符,进栈;
若为运算符op,出栈两个数,假设为a(第一个出栈元素)和b(第二个出栈元素),计算b op a的值。
阅读全文
0 0
- 实验3-栈和队列——表达式求值(2133)
- 实验3-栈和队列——表达式求值(2132)
- 栈和队列-算术表达式的求值
- 表达式求值-栈和队列的应用
- 【数据结构】实验二:栈与队列的应用---表达式求值
- 2014.6.2~3逆波兰表达式求值(栈和队列)
- 实验二 栈-表达式求值
- 用链表实现栈和队列对简单数学表达式求值
- 3-5-表达式求值-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版
- 表达式求值——栈
- 栈——表达式求值
- 数据结构实验2---表达式求值(“栈”实现)
- 【练习】哈工大数据结构实验——算术表达式求值
- 实验2 表达式求值
- 表达式求值(递归和栈)
- c++实验3—分段函数求值
- 表达式求值(栈)
- 寒假第三天--栈和队列--数据结构实验之栈三:后缀式求值
- 仿真软件OriginPro之《文献图片取点方法》
- 前端面试题之DOM事件
- 关于oracle字段精度和javaType及jdbcType
- 浅析前端开发中的 MVC/MVP/MVVM 模式
- 两个阿里云linux服务器之间传文件
- 实验3-栈和队列——表达式求值(2133)
- 如何通过 Vue+Webpack 来做通用的前端组件化架构设计
- Bootstrap组件福利篇:几款好用的组件推荐
- Opencv 配置
- PHP秒杀系统 高并发高性能的极致挑战
- 一个TensorFlow的新模型,Kaparthy小哥用了都说好
- 记2017年秋校招之路
- 洪小文:以科学的方式赤裸裸地剖析AI(二)|从寒冬到复兴
- 双十一,程序员前女友发来消息。。。