258. 各位相加

2018-11-25  本文已影响0人  TiredBird

思路很简单,对10求余得到最低位,同时对数本身除10去掉当前最低位,不断迭代,用res依次相加。

但是如何判断结果是一位数的时候输出呢?

有一个很简单的想法就是利用if语句,当res大于9的时候把它的值再次赋给num,再次进行上述while循环。

要实现这一点,可以考虑双循环,利用flag变量来作为跳出循环的标志。

首先令flag =1, 直到res小于等于9的时候置为0.而在res大于9时,令num = res。

这里很重要的一点是,res一定是从0开始加的,因此在后面必须加上res = 0,否则res会越加越大,直到溢出。

具体实现如下:

上一篇 下一篇

猜你喜欢

热点阅读