简易钢琴教程一:一道c语言编程题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/25 16:23:02
编程求Fibonacci数列的前40个数.该数列的生成方法为: F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第3个数开始,每个数等于前两个数之和.

以指数行式输出:
#include <stdio.h>
main()
{
int n;
float a,a1=1,a2=1;
printf(" %e ",a1);
printf(" %e ",a2);
for(n=3;n<=40;n++)
{
a=a1+a2;
a1=a2;
a2=a;
printf(" %e ",a);
if(n%5==0)printf("\n");
}
getch();
}
以不带小数点的实型输出:
#include <stdio.h>
main()
{
int n;
float a,a1=1,a2=1;
printf(" %10.0f ",a1);
printf(" %10.0f ",a2);
for(n=3;n<=40;n++)
{
a=a1+a2;
a1=a2;
a2=a;
printf(" %10.0f ",a);
if(n%5==0)printf("\n");
}
getch();
}

如果需要查看数组的话再加上几条语句:
#include<iostream.h>
void main()
{
int f[40];
f[0]=1;
f[1]=1;
for(int i=2;i<40;i++)
{
f[i]=f[i-1]+f[i-2];
}

for(int j=0;j<40;j++)
{
cout<<f[j]<<" ";
}

}

#include<stdio.h>
#define No 40

int main()
{
unsigned i;
unsigned f[No]={1,1};

for(i=2;i<=No;i++)
f[i]=f[i-1]+f[i-2];

for(i=0;i<=No;i++)
{
if(i%4==0)
printf("\n");
printf("%-12d",f[i]);
}

getchar();
}

#include <stdio.h>
void main()
{
int f[40],i=0;
f[0]=1;
f[1]=1;
for(i=2;i<40;i++)
{
f[i]=f[i-1]+f[i-2];
}
//生成完毕
}