如何递归实现数组求和

来源:互联网 发布:mac 安装node sass 编辑:程序博客网 时间:2024/05/19 14:02

如何用递归实现数组求和

给定一个含有n个元素的整形数组a,求a中所有元素的和.

非递归算法:

int sumr(int *a,int n){int sum=0;for(int i=0;i<n;i++)sum+=a[i];return sum;}


递归算法:

int sum(int *a,int n){return n==0?0:sum(a,n-1)+a[n-1];}

递归实现的方法,如果数组元素个数为0,那么和为0,如果元素个数为n,那么先求出前n-1个元素的和,再加上a[n-1]即可。

1 0