如何创建一个总结数字的递归函数?

时间:2017-01-20 22:12:11

标签: c recursion

我需要创建一个递归累加大量数字的函数。

例如,如果用户输入数字143,则该函数应返回1+4+3 8

我该怎么做?

2 个答案:

答案 0 :(得分:2)

这个想法是给定一个数字,你可以通过递归地将数字加总而不是它的最后一个数字总和来加总它的数字,然后加上最后一个数字。计算最后一位数字很简单x%10,得到没有最后一位数字的数字是x/10。当你点击0(你删除了所有数字)时的基本情况 - 返回0。

int sum_digits(int x) {
    if (x == 0)
        return 0;
    return x%10 + sum_digits(x/10);
}

答案 1 :(得分:-1)

你基本上只需要每次计算%10来获得最后一位数字并递归地总结所有这些结果。

以下是一个例子:

int sum;

public int sumOfDigits(int number){
    if(number<10)
       return sum+number;
    else{
       sum += (number%10);
       return sumOfDigits(number/10);
    }
}