您的位置:首页 > 其它

如何用递归实现数组求和

2017-07-17 09:36 225 查看
问题

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

解法

1.不递归

#include <stdio.h>

int main()
{
int a[] = { 3,6,8,2,1};
int i;
int len = sizeof(a)/sizeof(a[0]);
int sum = 0;
for(i = 0;i<len;i++)
{
sum+=a[i];
}
printf("%d\n",sum);  //20
return 0;
}


2.递归

#include <stdio.h>

int GetSum(int *a,int n)
{
return n==0?0:GetSum(a,n-1)+a[n-1];
}
int main()
{
int a[] = {3,6,8,2,1};
int length = sizeof(a)/sizeof(a[0]);
printf("%d\n",GetSum(a,length));   //20
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: