SDUT 2133 数据结构实验之栈三:后缀式求值
2024-10-20 03:20:46
数据结构实验之栈三:后缀式求值
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。
输入
输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。
输出
求该后缀式所对应的算术表达式的值,并输出之。
示例输入
59*684/-3*+#
示例输出
57
提示
基本操作数都是一位正整数!
代码:
#include <stdio.h>
#include <stack>
#include <string.h>
#include <algorithm> using namespace std; int main()
{
char ch;
stack<int>s;
int dd, ff;
while(scanf("%c", &ch)&& ch!='#')
{
if(ch>='0' && ch<='9')
{
s.push(ch-48);
}
else
{
if(ch=='*')
{
dd=s.top();
s.pop();
ff=s.top();
s.pop();
dd=ff*dd;
s.push(dd);
}
if(ch=='/')
{
dd=s.top();
s.pop();
ff=s.top();
s.pop();
dd=ff/dd;
s.push(dd);
}
if(ch=='+')
{
dd=s.top();
s.pop();
ff=s.top();
s.pop();
dd=ff+dd;
s.push(dd);
}
if(ch=='-')
{
dd=s.top();
s.pop();
ff=s.top();
s.pop();
dd=ff-dd;
s.push(dd);
}
}
}
printf("%d\n", s.top());
return 0;
}
最新文章
- 从OOP的角度看Golang
- WORD学习之制作座位表
- 简述unix时间戳
- Java之面向对象例子(二)
- Java Sftp上传下载文件
- 实现基于lnmp的电子商务网站
- 通俗易懂的信息熵与信息增益(IE, Information Entropy; IG, Information Gain)
- [JetBrains注册] 利用教育邮箱注册pycharm,idea等产品教程。
- 关于Node.js中的路径问题
- Spring boot 配置https 实现java通过https接口访问
- Redis 指令 学习笔记
- JS实现数组去重方法整理
- Android 音视频深入 八 小视频录制(附源码下载)
- 洛谷 P4878 [USACO05DEC]layout布局
- 使用 AJAX + 三级联动 实现分类出全国各地的省,市,区
- 函数调用堆栈及活动记录 堆栈溢出 stack overflow
- python脚本获取文件的创建于修改日期并计算时间差
- 【C#】神奇的yeild
- .net 里面打不出来ConfigurationManager
- Valid Sudoku leetcode java
热门文章
- hadoop datanode节点超时时间设置
- JSON之—— JSON.parse()和JSON.stringify() (插曲)
- HTML5 Canvas 绘制旋转45度佛教万字
- Linux程序
- eclipse 如何把java项目转成web项目
- Spring使用Cache、整合Ehcache(转)
- python:如何判断字符串中的内容是否都为数字并且把字符串转换为数字
- Win8.1离线安装.Net Framework 3.5
- SPA路由机制详解(看不懂不要钱~~)
- Redis系列-存储篇list主要操作函数小结(转)