『壹』 c语言,编程实现,求斐波那契数列,1,1,2,3,5,8,......的前20项及前20项和

C语言源程序如下:

#include<stdio.h>

int main()

{

int array[100]={1,1};//斐波那契数列前两个元素均为0

int i=0;//循环变量

int n=20;//数列需要求的个数

int sum = 0;//和变量

for(i=2;i<n+1;i++)//按递推原理依次求出后续元素

{

array[i]=array[i-1]+array[i-2];//数列原理

}

printf("arr[1]-arr[%d] = ", n);//提示输出数列元素

for (i = 0; i < n; i++)//遍历数列

{

printf("%d ",array[i]);//输出arr[1]-arr[n]元素内容

sum += array[i];//顺便进行求和

}

printf(" %d ", sum);//输出求和结果

return 0;

}

程序运行结果如下:


(1)编程求fibonacci数列扩展阅读:

利用递归原理进行求斐波那契数列的求解和求前n项和:

#include<stdio.h>

int fibonacci(int n) //递归函数

{

if (n == 0 || n == 1)

return 1;

if (n > 1)

return fibonacci(n - 1) + fibonacci(n - 2);

}

int main()

{

int i = 0;

for (i = 0; i < 30; i++)

{

printf("fibonacci(%d) = %d ", i, fibonacci(i));

}

return 0;

}

『贰』 求用C语言表达斐波那契数列

#include <stdio.h>

main( ){

long f1,f2,f;

int i,n;

scanf("%d",&n);

f1=f2=1;

if(n<=2)

f=1;

else

for(i=3;i<=n;i++){

f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld ",f);
}