计算器
问题描写叙述: 输入一个简单四则运算表达式字符串,计算该表达式的值
注:
1、表达式仅仅含 +, -, *, /, (, ), 四则运算符
2、表达式数值仅仅包括整数(0-9),每一个操作数能够是多位。且不会出现0作为除数的情况
3、要考虑加减乘除按通常四则运算规定的计算优先级
4、除法用整数除法,即仅保留除法运算结果的整数部分。比方80/3=26。
输入表达式保证无0作为除数情况发生
5、输入字符串一定是符合题意合法的表达式,当中仅仅包含数字字符和四则运算符字符。除此之外不含其他不论什么字符,不会出现计算溢出情况
要求实现函数:
int calculate(int len,char *expStr)
【输入】 int len: 字符串长度; char *expStr: 表达式字符串。
【输出】 无
【返回】 计算结果
• 演示样例
1) 输入:char *expStr = “-3*(-200)-(-3*(-5-2*10)/(4+3-17)*9)”
函数返回:663
2) 输入:char *expStr = “8/3*3”
函数返回:6
#include "stdafx.h"
#include<vector>
#include<deque>
#include<iostream>
using namespace std;
char*vec2char(vector<char>vec, char*str)
{
char*s = str;
vector<char>::iterator it;
it = vec.begin();
while (it != vec.end())
*(s++) = *(it++);
*s = '