计算器
问题描写叙述: 输入一个简单四则运算表达式字符串,计算该表达式的值
注:
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 = '