假定一个字符串表达式是有效的,如何求表达式的值?
例如:表达式35+2*3+6/4=42.5
暂时把题目写在这里。
//假定表达式是有效的
float getValue(char* exp);
先通过逐个取字符,将各个数字和运算符存入一个字符串数组和字符数组里
通过atoi函数转换,将各个字符串转换为整数(或者通过atof将字符串转换为浮点型数)
然后,再将各个数字和运算符的结果计算出来,这是一个有点复杂的过程。
碰到‘+’和‘-’,则将前面数值的结果计算出来;如果碰到‘*’或‘/',则将符号前后的数字和运算符分别保存进一个临时数组里,直到遇到加减运算法再将这个数值求出来,然后再向后计算。
如果写成代码的话,量还挺大。