码迷,mamicode.com
首页 > 其他好文 > 详细

递归实现数组求和

时间:2014-05-19 20:33:20      阅读:381      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   c   code   java   

bubuko.com,布布扣
#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);
}
bubuko.com,布布扣

 

递归实现数组求和,布布扣,bubuko.com

递归实现数组求和

标签:style   blog   class   c   code   java   

原文地址:http://www.cnblogs.com/berkeleysong/p/3731662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!