C 返回組成這個數字的數字之和

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;
}

3.執行結果

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章