一、题目
编写函数,求后缀表达式的数值,其中后缀式存于一个字
符数组exp中,exp中最后一个字符为“\0”,作为结束符,
并且假设后缀式中的数字都只有一位。本题中所出现的除
法运算,皆为整除运算,如2/3结果为0、3/2结果为1。
二、算法思想
比如:
中缀表达式:(a+b+cd)/e
后缀表达式:abcd++e/
通过观察后缀表达式不难观察到:
1.数字入栈;
2.运算符时出栈两次,得a op b,结果入栈;
3.后缀表达式中只有数字和运算符。
算法思想:
1.新建int型栈;
2.遍历exp数组,
若为数字,则入栈(判断栈满+入栈);
若为运算符,出栈两次,得a op b,结果入栈;
3.stack[top]即为答案。
三、代码
#include<stdio.h>
#define MaxSize 100
int opp(int start, char op, int fin){
if (op == '+')
return start + fin;
if (op == '-')
return start - fin;
if