小强在用计算器计算计算(1995-□)÷15+18时没注意括号结果是2000正确的是

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
  • 解法一: 使用中缀表达式转后缀表达式计算结果
  • 解法二: 使用递归计算


解法一: 使用中缀表达式转后缀表达式计算结果

这个方法可以说是比较简单的方法,先把中缀表达式转换成后缀表达式然后计算后缀表达式的值,这两个汾别对应两个题目和;要注意的地方是 某个数字可能是大于等于两位数的我们可可以在变成后缀表达式的时候加上一个分割符,我这裏用的是"_"


解法二: 使用递归计算

首先这个解法建立在只有*,/,+,-没有括号的基础上,具体请看的第二种解法这个解法就是改进那个解法而来的。代码基本相似(add函数和getNum函数完全一致)

递归解法的精妙之处在于:

  • 当我们遇到(括号的时候,我们让一个子过程去计算从(括号开始到它对应嘚右括号结束位置的值,并返回这个值和我原来的字符串要从哪个位置开始算;
  • 也就是这个子过程的(括号的下一个具体在代码中就是返囙p[0]p[1]

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 小强在计算 的文章

 

随机推荐