先上代码。
#include<stdio.h>
int main()
{
long a[40]={1,1};
int i;
for(i=1;i<=39;i++)
{
a[i]=a[i-2]+a[i-1];
}
for(i=0;i<=39;i++)
{
if(i%4==0)
printf("\n");
printf("%ld ",a[i]);
}
return 0;
}
首先了解斐波那契数列是什么指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义: F (0)=0, F (1)=1, F (n)= F (n - 1)+ F (n - 2)( n ≥ 2, n ∈ N*)。
了解了以后就很好做了,首先题目要求用数组来做输出前40项,我们先用long长整型定义一下,整一个40个的数组出来,然后我们知道前两项是1,1那我们就先把{1,1}放进去,然后再根据公式 for(i=1;i<=39;i++) { a[i]=a[i-2]+a[i-1]; }
把斐波那契数列放进数组中。
for(i=0;i<=39;i++)
{
if(i%4==0)
printf("\n");
printf("%ld ",a[i]);
}
这一部是做一个循环,当每4个的时候就换行,输出的时候因为是long长整型所以是%ld,把每一个a[i]都输出出来,为了美观在%ld的后面加空格,能使整体代码变得更加的美观。