递归在C中是什么意思

发布于 科技 2024-02-25
12个回答
  1. 匿名用户2024-01-25

    调用自己的编程技术的程序称为递归。 递归是一种广泛用于编程语言的算法。 一种方法,其中过程或函数在其定义或描述中直接或间接调用自身,通常是通过将一个大而复杂的问题转换为类似于要解决的原始问题的小问题。

    递归策略只需要少量的程序来描述解决问题的过程所需的多次重复,这大大减少了程序的数量。 递归的力量在于在有限语句中定义无限的对象集。

    通常,递归需要边界条件、递归前向段和递归返回段。 当边界条件不满足时,递归推进; 当满足边界条件时,递归返回。

  2. 匿名用户2024-01-24

    要理解递归,首先必须了解递归。

    简单地说,一个函数被调用到自身,可以称为递归。 这是一个简单的 n 任务!例子:

    #include

    #include

    int fac(int n)

    if(n==0)return 1;

    return n*fac(n-1);

    void main()

    printf("%d",fac(6));

  3. 匿名用户2024-01-23

    在函数调用中,如果直接或间接调用函数本身,则称为递归调用。 递归调用有时称为循环定义。

    示例:计算 n!(可以表示为:n!.)=n(n-1)!)#include

    main()

    long int fac(int n);*函数声明* long int s;

    int i;

    scanf("%d",&i);

    s=fac(i);

    printf("%2d!=%1d",i,s);

    long int fac(int n)

    long int fa;

    if(n==0)

    fa=1;else

    fa=n*fac(n-1);*使用递归算法* 返回 fa;

  4. 匿名用户2024-01-22

    也就是说,函数在函数中被调用,即是循环的递归调用,但必须有判断结束的条件,否则就变成了无休止的循环!

  5. 匿名用户2024-01-21

    递归方法的概念。

    类方法成员可以相互调用,也可以调用自己。 如果类的方法在方法体中直接或间接调用自身,则称为递归方法。

    递归的基本思想是“调用自己”。 递归方法实际上体现了“以此类推”和“以相同的步骤重复”的思想,它可以用简单的程序解决一些复杂的计算问题。

    递归调用对于完成阶乘运算、级数运算、幂指数运算等特别有效。

    执行递归运算时,C 语言将递归进程中的信息存储在堆栈中。 如果无限期递归或递归次数过多,则会出现“堆栈溢出”错误。

    示例:使用递归方法查找阶乘。 使用的数学公式是 n!=n*(n-1)!。当 n=0 时,n!=1。

    如下:public long f(int n)。

  6. 匿名用户2024-01-20

    所谓递归,简单来说,就是函数在一定条件下调用自己。 结束这种自我调用。

    如果不给出这个结束条件,它就会变成一个无限的无限循环。 那么这个递归就没有意义了。

    提出以下问题。

    1 1 2 3 5 8 13 21 ..n 分析可以表明 i 表示数字的数量,n 表示数字的值,当 i = 1 时,n = 1;

    当 i = 2 时,n = 1;

    当 i = 3 时,n = i1 + i2;

    当 i = 4 时,n = i2 + i3,所以你可以写一个函数。

    int fun(int n) 其中 n 代表第一个数字 else

    注意:以上**仅用于说明目的,不包括错误检查。

    在实际生产过程中。 **不够健壮。

    这样,递归就完成了。 您可以找到第 n 个数字。

    何时考虑使用递归。

    当你分析一个问题,发现这个问题是一个自循环,而这个自循环可以在给定的值处终止时,你就要考虑递归了。

  7. 匿名用户2024-01-19

    有递归这回事吗,那应该是普通循环的别称。

    int fact(int n)

    递归,通俗地说,就是自我调用。

    int fact (int n)

    递归请求 n! */

  8. 匿名用户2024-01-18

    最基本要知道的是 0! 和 1! 都是 1 然后呢!? 2!=2*1=2,3!=2!*3=2*3.。。想想看,你就会明白!

  9. 匿名用户2024-01-17

    在子例程(过程或函数)的定义中直接或间接调用子例程本身称为递归。

    递归是一种非常有用的编程方法。 使用递归算法编写的程序结构清晰,可读性强。

    递归算法的基本思想是将难以解决的大问题转化为更小的、易于解决的相同问题。 小规模问题变成小问题,在一定程度上可以直接推导其解,从而得到原问题的解。

    要用递归算法解决问题,我们必须首先分析问题的以下三个方面:

    确定这些步骤或方程式。 在分析了以上三个方面之后,就可以在子例程中定义递归调用了。 请记住,C 中有一座河内塔,这是一个只能通过递归解决的问题! 你可以仔细理解!

  10. 匿名用户2024-01-16

    因为递归必须有一个最小的层,这样它才会受到限制,否则没有最低层,它就会永远运行,没有尽头。

    因此,添加一个 if

    n<=1) 表示他的最低水平 n 的值是 1,根据 你的 **palin(i),n 的初始值是 i,即 5,所以。

    第一层 n 的值是 5,如果 n 的值大于 1,则运行 else 中的语句进入下一层 palin(n-1)。

    在第二层中,n的值在前一层中为n-1,即5-1=4

    如果在 if until n=1 中运行语句,则 palin 函数将不再出现在其中,您将到达底层。

    然后它完成逐层运行和弹出。

    这样,你自己的函数就会被读入到你自己的函数中,形成递归。

    如果解释不明白。

    直接给我打电话或添加问题

  11. 匿名用户2024-01-15

    好的,我将在下面帮助您分析您的程序:

    调用是 age(5)。

    它再次调用 age(4),然后在 age(3) 期间返回 age(4)+2age(4),然后在 age(3) 期间返回 age(3)+2 调用 age(2),然后在 age(2) 期间返回 age(2)+2 调用 age(1),然后在 age(1) 进程中返回 age(1)+2,直接返回值 10。

    从上面的过程可以看出,递归深度为5,那么:age(5)=age(4)+2age(4)=age(3)+2

    age(3)=age(2)+2

    age(2)=age(1)+2

    age(1)=10

    所以。 age(5)=18

    这只是一个单向递归,深度是单向扩展。 还有一些延伸到广度。

  12. 匿名用户2024-01-14

    仔细看看你的程序:

    一旦调用 age(n),实参数 n=5!=1,所以 c 是第一次调用的随机值,age(5)=c=age(4)+2

    进行 age(n) 的第二次调用,实数参数 n=4!=1,age(4)=c=c+2;

    Age(n) 被调用 3 次,实数参数 n=3!=1,age(3)=c=c+2;

    Age(n) 被调用四次,实数参数 n=2!=1,age(2)=c=c+2;

    对 age(n) 的 5 次调用,实数参数 n=1,age(1)=c=c+2; 在这种情况下,c 实际上等于一次调用时 +8 的 c 值;此时 c 的值为 10,因此 age(5)=18;

相关回答
30个回答2024-02-25

判断语句,1 表示真,0 表示假。

c 语言。 <> >>>More

22个回答2024-02-25

所谓函数返回值,就是函数在操作完成后反馈给调用它的父函数或系统的值,这个值可以是各种变量类型。 >>>More

20个回答2024-02-25

1. |它是逻辑运算中的“或”,逻辑关系为:true||False = 真 True ||True = 真 False |True = 真 False |False = 假。 >>>More

16个回答2024-02-25

递归:是自我调整,但是会有无穷无尽的循环而不终止条件,所以你的递归**有一个条件来结束自调优,这样就产生了有限数量的循环(你看不到for或foreach,但有循环发生)。

21个回答2024-02-25

取决于它是在 scanf 还是 printf 中使用。

在 scanf 中,添加 * 的部分将被忽略,并且不会被参数检索。 >>>More