如何用递归实现数组求和
给定一个含有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]即可。