递归

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();
        }
    }
}

先写到这里

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值