首页 > 其他 > 详细

递归系列

时间:2015-03-14 16:59:01      阅读:156      评论:0      收藏:0      [点我收藏+]

编写一个函数实现n^k,使用递归实现

#include<stdio.h>
int for_fun(int n,int k)
{
    int ret = 1;
    while(k)
    {
        ret *= n;
        k--;
    }
    return ret;
}//非递归
int ret_fun(int n,int k)
{
    int ret = 0;
    if(0 == k)
        return 1;
    else
    {
        k--;
        ret = n * ret_fun(n,k);
        return ret;
    }
    
}//递归
int main()
{
    printf("%d\n",for_fun(2,8));
    printf("%d\n",ret_fun(2,8));
    return 0;
}


写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19

#include<stdio.h>
int for_Digitsum(int n)
{
    int ret = 0;
    while(n)
    {
        ret += n % 10;
        n = n / 10;
    }
    return ret;
}//非递归
int ret_Digitsum(int n)
{
    if(n)
        return (ret_Digitsum(n/10) +n%10);
    else
        return 0;
}//递归
int main()
{
    printf("%d\n",for_Digitsum(1729));
    printf("%d\n",ret_Digitsum(1729));
    return 0;
}


递归系列

原文:http://blog.csdn.net/cherry_ermao/article/details/44243301

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!