数据结构实验之栈三:后缀式求值

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;
}
 

最新文章

  1. 从OOP的角度看Golang
  2. WORD学习之制作座位表
  3. 简述unix时间戳
  4. Java之面向对象例子(二)
  5. Java Sftp上传下载文件
  6. 实现基于lnmp的电子商务网站
  7. 通俗易懂的信息熵与信息增益(IE, Information Entropy; IG, Information Gain)
  8. [JetBrains注册] 利用教育邮箱注册pycharm,idea等产品教程。
  9. 关于Node.js中的路径问题
  10. Spring boot 配置https 实现java通过https接口访问
  11. Redis 指令 学习笔记
  12. JS实现数组去重方法整理
  13. Android 音视频深入 八 小视频录制(附源码下载)
  14. 洛谷 P4878 [USACO05DEC]layout布局
  15. 使用 AJAX + 三级联动 实现分类出全国各地的省,市,区
  16. 函数调用堆栈及活动记录 堆栈溢出 stack overflow
  17. python脚本获取文件的创建于修改日期并计算时间差
  18. 【C#】神奇的yeild
  19. .net 里面打不出来ConfigurationManager
  20. Valid Sudoku leetcode java

热门文章

  1. hadoop datanode节点超时时间设置
  2. JSON之—— JSON.parse()和JSON.stringify() (插曲)
  3. HTML5 Canvas 绘制旋转45度佛教万字
  4. Linux程序
  5. eclipse 如何把java项目转成web项目
  6. Spring使用Cache、整合Ehcache(转)
  7. python:如何判断字符串中的内容是否都为数字并且把字符串转换为数字
  8. Win8.1离线安装.Net Framework 3.5
  9. SPA路由机制详解(看不懂不要钱~~)
  10. Redis系列-存储篇list主要操作函数小结(转)