码迷,mamicode.com
首页 > 其他好文 > 详细

递归系列

时间:2015-03-14 17:00:22      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:c   递归   

编写一个函数实现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;
}


递归系列

标签:c   递归   

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

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