zoukankan      html  css  js  c++  java
  • 递归实现数组求和

    #include<stdio.h>
    
    int sum(int* a, int n)
    {
        return (0 == n)?0:(sum(a,n-1) + a[n-1]);
    
    }
    
    void sum1(int* a, int n,int& s)
    {
        if(0 == n)
            return;
        else
        {
            s = s + a[n-1];
            sum1(a,n-1,s);
        }
    
    }
    
    
    ///用return方案的话,就是先可以递归最底层,然后再从最底层开始计算回来,从下层向上层传数据
    ///如果使用形参的话,在递归的过程中能够就可以计算,从上层向下层传递数据
    int main()
    {
        int a[] = {1, 2, 3, 4};
        int n = sizeof(a)/sizeof(a[0]); ///用这个技巧可以得到一个[]类型的长度,记住,无论任何类型
        //printf("%d",sum(a,n));
        int s = 0;
        sum1(a,n,s);
        printf("%d",s);
    }
    berkeleysong
  • 相关阅读:
    odoo10 入门
    git 命令详细介绍
    odoo中Python实现小写金额转换为大写金额
    {DARK CTF } OSINT/Eye
    2020 12 18
    2020 12 17
    2020 12 16
    2020 12 15
    2020 11 14
    2020 11 13
  • 原文地址:https://www.cnblogs.com/berkeleysong/p/3731662.html
Copyright © 2011-2022 走看看