程序员升职记第21关零结尾字符串通关攻略
来源:网络收集 点击: 时间:2024-04-09这关要求将inbox的数相加,直到遇见以零结尾的字符后就送进outbox。假设数字排列为5、3、2、0,4、2则我们加了5+3+2后遇见0就不用继续+0+4了,直接将5+3+2=10的结果放进outbox,思路理清了,程序编写起来就很方便了。

首先我们从inbox拿出第一个数字,不要急着复制到地毯上继续拿第二个,一定不能急,这里有一个陷进,不知道小伙伴们发现没有。我们从inbox里拿出第一个数,如果不为0我们可以copyto到地毯,那么如果这个数恰好是0呢?我们是不是该假设一下是0的情况该怎么处理?
因此在输入inbox后,先插入一个0跳转代码,遇到0的时候直接跳转到outbox,这是整个程序里关键性的一步。

接下来再考虑不是0的时候该怎么处理,很简单,先将这个数copyto到地毯,然后继续从inbox中拿第二个数。同理,我们也要考虑第二个数如果是0的情况下该怎么做。
有了第一次的经验,第二次小伙伴们可谓是如鱼得水,自信满满地在插入0跳转字符后将箭头放在outbox处,以为这样就对了吗?错!

在第一个数不为0的前提下遇到第二数为0,假设第一个数是2,第二个数是0,那么我们不是应该把2+0=2送进outbox吗,直接将0送进去,2该怎么办呢?
因此这里我们还需添加一个add代码,将0与第一个数相加后再放进outbox,这是一个大陷进,小伙伴们要看仔细啦!

到这里后就好操作了,已经把为0的情况省略后,剩下的当作非0的数字相加起来,因为不知道连续排列的非0数字有几个,因此我们还需创建一个向上的jump循环,将结果copyto到地毯上继续从inbox拿出下一个数字相加,直到遇到0的时候就直接跳转回outbox。

程序列好了,最后只需在第一行插入一个向下省略add和outbox的代码即可顺利通关。


版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.ff371.cn/art_476268.html