数据结构实验之栈三:后缀式求值
2015-11-13 19:13
274 查看
数据结构实验之栈三:后缀式求值
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。输入
输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。输出
求该后缀式所对应的算术表达式的值,并输出之。示例输入
59*684/-3*+#
示例输出
57
提示
基本操作数都是一位正整数!来源
示例程序
#include<stdio.h> #include<string.h> struct node { int data[1000]; int top; }S1; int main() { int i,j,n,m,k,t; char c; S1.top=-1; while(c=getchar(),c!='#') { if(c>='0'&&c<='9') { S1.top++; S1.data[S1.top]=(int)(c-'0'); } else if(c=='+') { S1.data[S1.top-1]=S1.data[S1.top-1]+S1.data[S1.top]; S1.top--; } else if(c=='-') { S1.data[S1.top-1]=S1.data[S1.top-1]-S1.data[S1.top]; S1.top--; } else if(c=='*') { S1.data[S1.top-1]=S1.data[S1.top-1]*S1.data[S1.top]; S1.top--; } else if(c=='/') { S1.data[S1.top-1]=S1.data[S1.top-1]/S1.data[S1.top]; S1.top--; } } printf("%d\n",S1.data[0]); }
相关文章推荐
- 数据结构实验之栈二:一般算术表达式转换成后缀式
- 数据结构实验之栈一:进制转换
- 【数据结构】二叉树
- 【数据结构】二叉树
- binder驱动使用的数据结构说明
- 2015年大二上-数据结构-栈(4)- 数制转换
- 数据结构实验之链表六:有序链表的建立
- 数据结构实验之链表五:单链表的拆分
- 2015年大二上-数据结构-栈(3)- 括号的匹配
- 数据结构上机实验之顺序查找
- 数据结构上机实验之二分查找
- 数据结构、算法与应用 (C++描述) 第二版 1.14
- 数据结构、算法与应用 (C++描述) 第二版 1.13
- 数据结构、算法与应用 (C++描述) 第二版 1.12
- 数据结构之约瑟夫循环
- 数据结构、算法与应用 (C++描述) 第二版 1.11
- 数据结构之停车场
- 双向链表的算法设计和实现(数据结构)
- C++与Matlab混合编程之:矩阵数据结构
- C++与Matlab混合编程之:矩阵数据结构