本文将介绍如何使用c语言实现后缀表达式求值。
1. 后缀表达式求值的算法
后缀表达式求值的算法是使用栈来实现的,具体步骤如下
1) 从左到右扫描后缀表达式。
2) 如果遇到数字,就将数字入栈。
3) 如果遇到运算符,就从栈中取出相应的操作数,进行运算,然后将结果入栈。
4) ,栈中只剩下一个元素,即为后缀表达式的值。
2. c语言实现后缀表达式求值的代码
下面是使用c语言实现后缀表达式求值的代码
“`cludecludeclude
e MX_STCK_SIZE 100
typedef struct {t data[MX_STCK_SIZE];t top;
} Stack;
if (s->top >= MX_STCK_SIZE) {tf”);
exit(1);
}
s->data[++s->top] = x;
t pop(Stack s)
if (s->top< 0) {tfderflow");
exit(1);
} s->data[s->top–];
t is_operator(char ch)
{ ch == ‘+’ || ch == ‘-‘ || ch == ” || ch == ‘/’;
ttt op2)
switch (op) { op1 + op2; op1 – op2; op1 op2; op1 / op2; 0;
}
Stack s;
s.top = -1;
t[i] != ‘\0’; i++) {[i])) {[i] – ‘0’);[i])) {t op2 = pop(&s);t op1 = pop(&s);t[i], op1, op2);
push(&s, result);
}
}
pop(&s);
tain()
{[] = “234+”;t);tf”, result); 0;
3. 后缀表达式求值的实例
以后缀表达式”23+4″为例,展示后缀表达式求值的过程
1) 读取”2″,将2入栈。
2) 读取”3″,将3入栈。
3) 读取”+”,从栈中取出3和2,计算2 + 3 = 5,将5入栈。
4) 读取”4″,将4入栈。
5) 读取””,从栈中取出4和5,计算5 4 = 20,将20入栈。
6) ,栈中只剩下一个元素20,即为后缀表达式的值。
以上就是使用c语言实现后缀表达式求值的介绍,希望对大家有所帮助。