递归计算数组中每个元素的和,要c语言编写

键盘输入n,1+2+3+4+。。。+(n-1)+n... 键盘输入n,1+2+3+4+。。。+(n-1)+n 展开
 我来答
dufenglei908
2013-04-22 · TA获得超过6372个赞
知道大有可为答主
回答量:1449
采纳率:60%
帮助的人:767万
展开全部
#include <stdio.h>
int recr(int n) // 递归函数
{
if (n <= 1) return n; // 递归退出条件

return n + recr(n - 1);
}
int main()
{
int n = 0;
printf(" n = ");
scanf("%d", &n);
printf("sum = %d\n", recr(n));
return 0;
}

执行结果:

  n = 100

sum = 5050


不过说实话,这种问题真心不适合用递归来解决,反而会干扰初学者对递归和循环的理解

追问
其实我是想想申请一个动态是一维数组,先把数据存入数组中,先计算各个数组中的数据和!能帮我在写一个吗
追答
int sum(int a[], int n) // 递归函数
{
if (n == 1) return a[n - 1]; // 递归退出条件
return a[n - 1] + sum(a, n - 1);
}

递归帮你改了,剩下的你可以自己动手了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式