如何求一个字符串表达式的值?

假定一个字符串表达式是有效的,如何求表达式的值?

例如:表达式35+2*3+6/4=42.5

暂时把题目写在这里。

//假定表达式是有效的

float getValue(char* exp);

先通过逐个取字符,将各个数字和运算符存入一个字符串数组和字符数组里

通过atoi函数转换,将各个字符串转换为整数(或者通过atof将字符串转换为浮点型数)

然后,再将各个数字和运算符的结果计算出来,这是一个有点复杂的过程。

碰到‘+’和‘-’,则将前面数值的结果计算出来;如果碰到‘*’或‘/',则将符号前后的数字和运算符分别保存进一个临时数组里,直到遇到加减运算法再将这个数值求出来,然后再向后计算。

如果写成代码的话,量还挺大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值