数据结构实验之栈三:后缀式求值
来源:互联网 发布:c语言双人贪吃蛇 编辑:程序博客网 时间:2024/06/05 23:01
题目链接
Problem Description
对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。
Input
输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。
Output
求该后缀式所对应的算术表达式的值,并输出之。
Example Input
59*684/-3*+#
Example Output
57
Hint
基本操作数都是一位正整数!
#include<iostream>#include<cstring>#include<stack>using namespace std;int Calculate(int a, int b,char ch){ if(ch=='+') return a+b; else if(ch=='-') return a - b; else if(ch=='*') return a*b; else return a/b;}int main(){ stack <int> S; char s[110]; memset(s,0,sizeof(s)); for(int i = 0;;i++){ cin>>s[i]; if(s[i]=='#') break; } int length = strlen(s); for(int i = 0;i<length;i++){ if(s[i]=='#'){//到达末尾 cout<<S.top();//输出结果 S.pop(); break; } if(s[i]>='0'&&s[i]<='9') S.push(s[i]-'0');//压栈 else{ int nm1, nm2; nm1 = S.top(); S.pop(); nm2 = S.top(); S.pop(); S.push(Calculate(nm2,nm1,s[i]));//顺序不能颠倒,因为栈是后进先出 } } cout<<endl; return 0;}
阅读全文
0 0
- SDUT2133数据结构实验之栈三:后缀式求值(栈)
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- SDUT 2133 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- SDUT 2133 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值
- SDUT 3133 数据结构实验之栈三:后缀式求值
- 数据结构实验之栈三:后缀式求值 SDUT 2133
- 数据结构实验之栈三:后缀式求值
- 图片放大缩小
- Hive的三种连接查询方式
- CentOS 修改开机画面
- Grunt 新手指南
- SSM框架下编写java web项目
- 数据结构实验之栈三:后缀式求值
- ping: www.baidu.com: Name or service not known centos7 -bash: ifconfig: command not found
- linux DNS 相关介绍
- Python文件读写操作
- 64-ia-32架构优化手册(6)
- MySQL分布式集群搭建
- 如何用PhoneGap Build 在线搭建一个属于自己的webAPP
- 无人超市软件商店加盟系统开发
- mysql使用索引优化查询效率