给出一个表达式,其中运算符仅包含 +
,-
,*
,/
,^
要求求出表达式的最终值在这里,/
为整除最终结果为正整数,数据保证不需要使用高精度!
输入仅一行,即为表达式。
输出仅一行,既为表达式算出的结果 结果小于 long int
的最大范围,且整个计算的过程中,也不会超过 long int
的最大范围。
表达式总长度 ≤20≤20
样例输入
2^3+1
样例输出
9
#include<stack>
#include<string>
#include<iostream>
#include<math.h>
using namespace std;
int pror[4][4]={//优先级数组,int[i][j]=1表示i比j的优先级高
0,0,0,0,//+ 0
1,0,0,0,//* 1
1,0,0,0,// / 2
1,1,1,0,//^ 3
};
int inputconvert(char c){//对输入运算符的转换
switch(c){
case '+': return 0;
case '*': return 1;
case '/': return 2;
case '^': return 3;
}
}