通过递归计算数组a[100]的前n个数之和(C语言编写)?求大神给答案
答案:4 悬赏:20 手机版
解决时间 2021-11-13 03:26
- 提问者网友:树红树绿
- 2021-11-12 12:02
通过递归计算数组a[100]的前n个数之和(C语言编写)?求大神给答案
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-11-12 13:06
#include "stdio.h"
#include
#include
void Get(int a[])
{
int i;
srand(NULL);
for(i=0;i<100;i++)
a[i]=rand()%100+1;
}
void show(int a[])
{
int i;
printf("这一百个数字是:
");
for(i=0;i<100;i++)
{
printf("%3d ",a[i]);
if((i+1)%10==0)
printf("
");
}
}
long sum(int a[],int len)
{
if(len>0)
return sum(a,len-1)+a[len];
else
return a[0];
}
int main()
{
int a[100];
Get(a);
show(a);
long all=0;
all=sum(a,99);
printf("
%d
",all);
return 0;
}
#include
#include
void Get(int a[])
{
int i;
srand(NULL);
for(i=0;i<100;i++)
a[i]=rand()%100+1;
}
void show(int a[])
{
int i;
printf("这一百个数字是:
");
for(i=0;i<100;i++)
{
printf("%3d ",a[i]);
if((i+1)%10==0)
printf("
");
}
}
long sum(int a[],int len)
{
if(len>0)
return sum(a,len-1)+a[len];
else
return a[0];
}
int main()
{
int a[100];
Get(a);
show(a);
long all=0;
all=sum(a,99);
printf("
%d
",all);
return 0;
}
全部回答
- 1楼网友:掌灯师
- 2021-11-12 15:24
#include
int sum(int*a,int n)
{
if(n-1==0)
{
return a[0];
}
else
{
return a[n-1]+sum(a,n-1);
}
}
int main()
{
int a[100]={1,2,3,4,5};
printf("%d",sum(a,5));
}
int sum(int*a,int n)
{
if(n-1==0)
{
return a[0];
}
else
{
return a[n-1]+sum(a,n-1);
}
}
int main()
{
int a[100]={1,2,3,4,5};
printf("%d",sum(a,5));
}
- 2楼网友:动情书生
- 2021-11-12 14:46
int add(int *a,int index)
{
if (index == 0)
{
return *a;
}
else {
return *(a+index) + add(a,index-1);
}
}
void main()
{
int a[100];
int n = 80;
int res = add(a,n);
}
{
if (index == 0)
{
return *a;
}
else {
return *(a+index) + add(a,index-1);
}
}
void main()
{
int a[100];
int n = 80;
int res = add(a,n);
}
- 3楼网友:琴狂剑也妄
- 2021-11-12 13:46
现给出递归函数:
int sum(int n)
{
if(n==1) return a[1];
else return a[n]+sum(n-1);
}
int sum(int n)
{
if(n==1) return a[1];
else return a[n]+sum(n-1);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯