C语言“递归法”输入一个非负整数,求出组成这个非负整数的数字之和

使用递归法,求输入一个非负整数,返回组成它的数字之和。例如,输入1234,输出1+2+3+4=10,输入1729,输出19。

通过分解出各个位数来递归计算。

#include<stdio.h>
#include<stdlib.h>
//首先要把该数分解,知道这个数是几位数,再返回每位数的累加和
 DigitSum(int n)
 {
    
    
       if (n / 10== 0)
         {
    
    
            return n;
         }
       else
        {
    
    
            return n%10 + DigitSum(n / 10);
        }
}
int main()
{
    
    
    printf("请输入一个非负整数:")int n;
    scanf("%d",&n);
    printf("%d\n"DigitSum(n));
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_65208770/article/details/127972686