1.題目
寫一個遞歸函數DigitSum(n),輸入一個非負整數,返回組成它的數字之和,例如,調用DigitSum(1729),則應該返回1+7+2+9,它的和是19
2.程序代碼
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <Windows.h>
int DigitSum(int n)
{
if (n < 10)
{
return n;//如果這個數比10小,直接返回這個數
}
else
{
return (n % 10) + DigitSum(n / 10);//調用函數本身,取出下一位
}
}
int main()
{
int n = 0;
printf("please input a number:");
scanf("%d", &n);
printf("%d\n", DigitSum(n));
system("pause");
return 0;
}