C语言编程:用数组求Fibonacci数列前20个数 最后把数组作为参数传递给add函数,求这20个数的和并显示

2025-03-22 03:23:00
推荐回答(4个)
回答1:

#include

int add(int a[],int n)
{
int i;
int s=0;
for(i=0;i s+=a[i];
return s;
}

main()
{
int a[30],b;
int i;
b=2;
a[0]=a[1]=1;
for(;b<20;b++)
{
a[b]=a[b-2]+a[b-1];
}
for(i=0;i<20;i++)
{
printf("%5d",a[i]);
if(i%5==4) printf("\n");
}
printf("%d\n",add(a,20));
}

回答2:

#include

long add(int *a, int n)
{
int i;
long sum = 0;
for (i = 0; i < n; i++)
sum += a[i];
return sum;
}
int main()
{
int a[20] = {1, 1};
int i;
for (i = 2; i < 20; i++)
a[i] = a[i - 1] + a[i - 2];
for (i = 0; i < 20; i++)
{
printf("%5d ", a[i]);
if ((i + 1) % 5 == 0)
printf("\n");
}
printf("\nsum = %ld\n", add(a, 20));
return 0;
}

回答3:

#include
int fibo(int n)
{
if(n==1||n==2)
return 1;
else
return fibo(n-1)+fibo(n-2);
}
int add(int *a,int n)
{
int s=0,i;
for(i=0;i s+=a[i];
return s;
}
void main()
{
int i,f[20],k=0;
for(i=0;i<20;i++)
{
f[i]=fibo(i+1);
printf("%d\t",f[i]);
k++;
if(k%5==0) printf("\n");
}
printf("sum=%d\n",add(f,20));
}

回答4:

在另一个帖子回答了