Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说C语言递归实现数组求和,希望能够帮助你!!!。
#include <stdio.h>
int sum(int a[],int len);
int main()
{
int i,len;
printf("Enter the len:");
scanf("%d",&len);//利用变长数组,先输入求和数组的长度
int a[len];
printf("Enter the number:");
for(i=0;i<len;i++){
scanf("%d",&a[i]);
}//输入数组的具体数字
int sumall;
sumall=sum(a,len);
printf("the sum of your number is %d",sumall);//求和并输出
}
int sum(int a[],int len)
{
if(len==1)//基线条件
return a[len-1];
else{
int n=len-1 ;
return a[n]+sum(a,len-1);//用n替换len-1;避免a[len-1]后误以为应该是+sum(a,len-2);递归调用,传入参数每次改变1;
}
}
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章