提示:斐波那契数列
1 1 2 3 5 8 13……
本文将用普通变量和数组两组方式输出斐波那契数列前40个数,要求4个一行。
int f1=1;int f2=1;
让第一个数是f1,第二个数是f2,两两一组。
共40个数,分成20组。
1 1 2 3 ……
⬆ ⬆ ⬆ ⬆
f1 f2 f1=f1+f2=1+1=2 f2=f1+f2=2+1=3
(1)代码如下:
#include <stdio.h>
void main()
{
int f1=1,f2=1;
int i;
for(i=1;i<=20;i++)
{
printf("%10d %10d",f1,f2);
f1=f1+f2;
f2=f1+f2;
if(i%2==0)
printf("\n");
}
}
(2)思考:为什么4个一行输出却不是i%4呢?
答:因为是两两一组。
(3)运行结果:
1 1 2 3
5 8 13 21
34 55 89 144
233 377 610 987
1597 2584 4181 6765
10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578 5702887 9227465 14930352
24157817 39088169 63245986 102334155
Press any key to continue
(1)代码如下:
#include <stdio.h>
void main()
{
int f[40]={1,1},i;
for(i=2;i<=39;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<=39;i++)
{
printf("%10d",f[i]);
if((i+1)%4==0)
printf("\n");
}
}
(2)思考:为什么4个一行是(i+1)%4==0呢?
答:因为数组下标从0开始,0 1 2 3是4个一组,4 5 6 7是4个一组,8 9 10 11是4个一组,
⬆
i=3,i+1=4,4%4==0
(3)运行结果:
1 1 2 3
5 8 13 21
34 55 89 144
233 377 610 987
1597 2584 4181 6765
10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578 5702887 9227465 14930352
24157817 39088169 63245986 102334155
Press any key to continue
总结
文章主要讲述了用普通变量和数组实现斐波那契数列的方法,解释了如何实现4个一行输出结果。