#include <stdio.h>
int sum(int a[],int n)
{
int i,sum;
if(n==0)
return a[0];
else
return sum(a,n-1)+a[n-1];
}
int main()
{
int a[]={1,2,3,4,5,6,7,8,9};
int k;
k=sum(a,5);
printf("%d",k);
return 0;
}
请教求用递归的方法求数组的前n个元素之和的程序,第二个return错在哪里?
答案:1 悬赏:70 手机版
解决时间 2021-03-23 05:56
- 提问者网友:且恨且铭记
- 2021-03-23 01:12
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-03-23 02:41
#include <stdio.h>
int sum(int a[],int n)
{
int i,sum;//这个定义是干啥的?去掉!不然的话sum被重定义了!
if(n==0)
return a[0];
else
return sum(a,n-1)+a[n-1];//此处会导致a[0]被重复累加,改为:return sum(a,n-1)+a[n];
}
int main()
{
int a[]={1,2,3,4,5,6,7,8,9};
int k;
k=sum(a,5);//这里改为:k=sum(a,4);
printf("%d",k);
return 0;
}
int sum(int a[],int n)
{
int i,sum;//这个定义是干啥的?去掉!不然的话sum被重定义了!
if(n==0)
return a[0];
else
return sum(a,n-1)+a[n-1];//此处会导致a[0]被重复累加,改为:return sum(a,n-1)+a[n];
}
int main()
{
int a[]={1,2,3,4,5,6,7,8,9};
int k;
k=sum(a,5);//这里改为:k=sum(a,4);
printf("%d",k);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯