码迷,mamicode.com
首页 > 编程语言 > 详细

C语言编程实现 输入一个非负整数,返回组成它的数字之和(递归方法)

时间:2019-04-11 19:29:42      阅读:371      评论:0      收藏:0      [点我收藏+]

标签:ret   result   number   print   use   pre   its   printf   基本   

此题目基本思想与非递归方法思想一样,主要是对输入的数进行取数(对10取余)和缩小(整除10)
eg:
1234
第一次 1234%10取得数4,1234/10缩小为123
第二次 123%10取得数3, 123/10缩小为12
第三次12%10取得数2, 12/10缩小为1
第四次 当调用的数小于十直接取得此数为1

源代码:

#include<stdio.h>
#include<stdlib.h>
int DigitSum(int number)
{
    int suu,m ;
    while(number)
    {
        m = number % 10;//取数
        number /= 10;//数缩小
        return m + DigitSum(number);
    }
    return number;//递归出口
}
int main()
{
    int number,i=0,temp,m=1;
    int result;
    printf("请输入数字\n");
    scanf("%d", &number);
    temp = number;
    result = DigitSum(number);
    printf("计算结果为%d\n", result);
    system("pause");
    return 0;
}

C语言编程实现 输入一个非负整数,返回组成它的数字之和(递归方法)

标签:ret   result   number   print   use   pre   its   printf   基本   

原文地址:https://blog.51cto.com/14232799/2377396

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!