C语言——递归
递归
1、自己调用自己且一直不停调用。
int digui()
{
digui();
}
2、必须要有一个停止条件,否则会一直调用。
举个栗子:最普通的求阶乘
public static int mul(int n)
{
if(n==1)
return 1; // 1的阶乘是1
// 相当于停止条件
else
return n*mul(n-1);/* 第一次调用:n*(n-1)
* 第二次调用:n*(n-1)*(n-1-1)
...
直到调用到最后n=1之前 ,停止调用
*/
}
void Main() //主函数
{
mul(7); //求7!
}
/*这里是求7的阶乘
第一次调用:7*(7-1)=7*6 没达到上面的停止条件继续调用
第二次调用:7*6*(6-1)
...
一直到 7*6*5*4*3*2*1
*/
再写个100内奇数和(直接在vs里写了)
namespace 递归
{
class Program
{
public static int digui(int n)//用递归
{
if (n == 1)
return 1;
else
return n + digui(n - 2);
}
static void Main(string[] args)
{
Console.WriteLine("1+3+5+......+99=" + digui(99));
Console.ReadKey();
}
}
}
先写到这里