斐波那契数列 :1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584........
这个数列从第3项开始,每一项都等于前两项之和。
一:输出指定项数的斐波那契数列
#include<stdio.h>
int main()
{
int i,j,k,t;
printf("输出多少项:");
scanf("%d",&k);
i=1;j=1;
printf("%d,%d,",i,j);//第一项和第二项
for(t=1;t<=k-2;t++)
{
if(t%2!=0)//从第三项往后的奇数项
{
i=i+j;//例:第三项=第一项+第二项
printf("%d",i);
}
else//从第三项往后的偶数项
{
j=j+i;//例:第四项=第二项(j)+第三项(刚已经循环一次的i)
printf("%d",j);
}
printf(",");
}
printf("\n");
}
二:输出指定数字前的斐波那契数列
#include<stdio.h>
int main()
{
int i,j,k,t;
printf("输出数字前的项:");
scanf("%d",&k);
i=1;j=1;
printf("%d,%d,",i,j);
for(t=1;i+j<k;t++)/*仅此处判断条件变化*/
{
if(t%2!=0)
{
i=i+j;
printf("%d",i);
}
else
{
j=j+i;
printf("%d",j);
}
printf(",");
}
printf("\n");
}