C语言程序员

递归

2018-05-13  本文已影响0人  修夏之夏i

递归方式实现打印一个整数的每一位

void print(int n)
{
    if (n < 10)
        printf("%d ", n);
    else
    {
        print(n /10);
        printf("%d ",n%10);
    }

}

int main()
{
    print(3456);
    printf("\n");
    return 0;
}
运行结果: 递归输出.png

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

int DigitSum(int n)
{
    if (n < 10)
        return n;
    else
        return n%10 + DigitSum(n/10);
}
int main()
{
    printf("%d\n",DigitSum(1729));
    return 0;
}
运行结果: 递归digitsum.png

递归实现n^k

int test(int n,int k)
{
    if (k == 0)
        return 1;
    else 
        return n*test(n, k-1);
    
}
int main()
{
    printf("%d\n",test(2,4));
    return 0;
}
运行结果: 递归n^k.png
上一篇 下一篇

猜你喜欢

热点阅读