美文网首页十天学会C语言
第05天C语言(09):递归-练习1

第05天C语言(09):递归-练习1

作者: liyuhong | 来源:发表于2017-07-08 11:13 被阅读29次
一、概念
二、代码
#include <stdio.h>

int myPow(int base,int n);
int myPow2(int base,int n);
int main()
{
#pragma 1.涉及一个函数 用来计算B的n的次方
    /*
     b = 2
     n = 3
     
     int result = b(3);
     
     b(0) = 1;
     b(1) = b;      == b(0) * b
     b(2) = b * b;   == b(1) * b
     b(3) = b * b * b; == b(2) * b
     b(n) = b(n -1) * b
     
     2(3)
     2 * 2 * 2;
     result = 1 * 2
     result = 2(result) * 2;
     result = 2 * 2(result) * 2;
     
     用上一次的结果 * 2
     */
    
    int a = 2;
    int b = 3;
//    int result = myPow(a,b);
    int result = myPow2(a, b);
    printf("result = %i\n",result);
    
    
    
    
    return 0;
}

#pragma mark for循环
int myPow(int base,int n)
{
    // 1.定义变量保存计算结果
    int result = 1;
    for (int i = 0; i < n; i++) {
        printf("%i * %i\n",result,base);
        result = result * base;
    }
    return result;
}
#pragma mark 递归
/*
 1.必须有一个明确的结束标志
 2.自己调用自己
 */
int myPow2(int base,int n)
{
    int result = 1;
    if (n <= 0) {
        // 结束条件
        return result;
    }
    else
    {
       return  myPow2(base, n - 1) * base;
    }
}
image.png

相关文章

  • 第05天C语言(09):递归-练习1

    一、概念 二、代码

  • C语言基础教程之递归

    一文读懂C语言递归算法,C语言基础教程之递归 C语言递归 递归指的是在函数的定义中使用函数自身的方法。 从前有座山...

  • C语言day05-09递归练习01

    pragma mark 递归练习01 pragma mark 概念 pragma mark 代码

  • 第05天C语言(10):递归-练习2

    一、概念 二、代码

  • C语言----递归

    递归指的是在函数的定义中使用函数自身的方法。 举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事...

  • C语言 递归

    C允许函数调用自己,该调用过程称为递归。 main()调用了带参数1的up_and_down()函数,以此类推#1...

  • C 语言练习1

    1. 关系运算符 <= 的优先级高于 == 2. C语言中函数可以嵌套调用,但是不可嵌套定义. 3. C语言中变量...

  • 编写高质量OC代码的52个有效方法(要点)

    第1章 熟悉Objective-C 第1条:了解Objective-C语言的起源 Objective-C 为C语言...

  • 递归函数

    1.递归函数概述及用法 一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。C语言允许函数 的递归...

  • Rust语言编程实例100题-028

    Rust语言编程实例100题-028 题目:递归练习。程序调用自身的编程技巧称为递归( recursion)。递归...

网友评论

    本文标题:第05天C语言(09):递归-练习1

    本文链接:https://www.haomeiwen.com/subject/jqurhxtx.html