//写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
例如,调用DigitSum(1729),则应该返回1 + 7 + 2 + 9,它的和是19int DigitSum(int n)
解题思路:1> 分析题意,找递归的出口,要实现每个数之和必须先调出每个位上的数;
2> 我选择n<10为递归的出口,每次调用DigitSum让1729减去个位,直到
n<10,依次返回与n%10相加即可得到各个位上的数之和;
3> 返回计算结果,并输出。
源代码:
#include<stdio.h>
#include<stdlib.h>
//写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,
//例如,调用DigitSum(1729),则应该返回1 + 7 + 2 + 9,它的和是19int DigitSum(int n)
int DigitSum(int n)
{
if (n < 10)
{