介绍
这篇文章将为大家详细讲解有关c语言递归算法如何实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
递归就是一个方法自己调用自己。在编程语言中,如果一个程序允许您在同一个函数中调用一个函数,那么它就被称为函数的递归调用。
空白递归(){ 递归();/*函数调用本身*/} int main () { 递归(); }
C语言支持递归,即一个调用自身的函数。但是在使用递归时,程序员需要小心定义函数的退出条件,否则它将进入无限循环。
递归函数对于解决许多数学问题非常有用,例如计算一个数的阶乘,生成斐波那契级数等。
<强>数的阶乘强>
下面的例子使用递归计算一个给定的数的阶乘函数
# include & lt; stdio.h> 长无符号长整数的阶乘(unsigned int i) { 如果(我& lt;=1) { 返回1; } 我返回我* ! (- 1); } int main () { int i=12; printf (“Factorial (% d % d \ n",我!(我)); 返回0; }
输出:
12是479001600的阶乘
<强>斐波那契系列强>
以下示例使用递归函数为给定数字生成斐波那契(斐波那契)系列
# include & lt; stdio.h> int斐波纳契(int i) { 如果(i==0) { 返回0; } 如果(i==1) { 返回1; } 返回斐波纳契(张)+斐波纳契(我2);}int主要(){ int我; (我=0;我& lt;10;我+ +){ printf (“% d \ t \ n",斐波纳契(我)); } 返回0;}
输出:
0 1 1 2 3. 5 8 13 21 34
关于c语言递归算法如何实现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。