// SimpleFourArithmeticOperation.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#define Max 100
/*问题描述:
输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值
注:1、表达式只含 +, -, *, / 四则运算符,不含括号 ;
2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况 ;
3、要考虑加减乘除按通常四则运算规定的计算优先级;
4、除法用整数除法,即仅保留除法运算结果的整数部分;
比如8/3=2。输入表达式保证无0作为除数情况发生;
5、输入字符串一定是符合题意合法的表达式,其中只包括数字字符和四则运算符字符,
除此之外不含其它任何字符,不会出现计算溢出情况;
函数要求:
int calculate(int len,char *expStr)
*/
/*思路描述问题:
先计算乘除问题,在计算加减问题;
*/
//理解为什么操作符和数字要分开进行处理。
int calculate(int len,char *expStr){
if(expStr == NULL || len <= 0)
return 0;
int num[Max];
int numlength = 0;
char opera[Max];
int operalength = 0;
num[0] = *expStr - '0';
numlength = 1;
//结果
int sum = 0;
//保存在栈里面的只有数据和+-操作符号
for (int i = 1