Kunkun学长觉得应该让学弟学妹了解一下这个知识点:后缀表达式相对于中缀表达式更容易让计算机理解和学习。现在kunkun学长给出一串后缀表达式,你能帮他算出这个后缀表达式的值吗?
输入格式:
第一行输入后缀表达式长度n(1<=n<=25000);
第二行输入一个字符串表示后缀表达式(每个数据或者符号之间用逗号隔开,保证输入的后缀表达式合法,每个数包括中间结果保证不超过long long长整型范围)
输出格式:
输出一个整数,即后缀表达式的值。
输入样例1:
6
10,2,+
输出样例1:
12
输入样例2:
14
2,10,2,+,6,/,-
输出样例2:
0
代码(最终):
#include<stdio.h>
#include<string.h>
#include<math.h>
int sum_or_sub(long long stack[], int top, int type)
// 负责加减运算 type 参数:1为加, -1为减
{
stack[top - 2] += stack[top - 1] * type;
stack[top - 1] = 0; // 这里要删除掉 栈顶 的值!!