[求助]分析这个 程序
这个十关于Fibonacci数列程序,我不明白第4行到末尾为什么这样写main()
{
long int f1,f2;
int i;
f1=1;f2=1;
for(i=1;i<=20;i++)
{
printf("%12ld%12ld",f1,f2);
if(i%2==0)printf("\n");
f1=f1+f2 ;
f2=f2+f1;
}
}
给两个不同的算法参考
1、#include <stdio.h>
void main()
{
int a,b,c,cnt;//a是第一个数,b是第二个数,c是第三个数,cnt用来控制while循环的结束
a=0;b=1;c=0;cnt=0;
do
{
c=a+b;//第三个数等于前两个数之合
printf("%d,",b,c);
//如果要求第四个数,那就要把所谓的第一个数和第二个数往前移动,
//即原第二个数应该变为第一个数:a=b,原第三个数应变为第二个数:b=c
a=b;
b=c;
cnt++;
}while(cnt<=10);
}
2、 1 n=0
Fib(n)= 1 n=1
Fib(n-2)+Fib(n-1) n>1
#define NUM 20
main()
{
int I;
static int fib[NUM]={1,1};
for (i=2;i<NUM;i++)
fib[i]=fib[i-2]+fib[i-1];
for (i=0;i<NUM;i++)
{
if (i%5==0) printf("\n");
printf("%5d",fib[i]):
}
}