c语言程序 数列 ;1 1 2 3 5 8 。。这前40个数字,按照每一行5个数字输出

急需求解!!!!!!!!!!

这个数列叫做斐波那契数列

代码如下:
#include<stdio.h>
void fibo(int n)
{
int i,count=2;
double x1,x2,x; x1=1; x2=1;
printf("%6.0f\t%6.0f\t",x1,x2);
for(i=1;i<=(n-2);i++)
{
x=x1+x2;
printf("%6.0f\t",x);
x1=x2;
x2=x;
count++;
if(count%5==0)
printf("\n");
}
printf("\n");
}
void main()
{
fibo(40);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-02
#include<stdio.h>
int Fibonacci(int n)
{
if(n<3)return 1;
else return (Fibonacci(n-1)+Fibonacci(n-2));
}
void main()
{
int n,i=1;
printf("Input the N term:");
scanf("%d",&n);
for(;i<=n;i++)
{
if((i%5)-1==0)putchar('\n');
printf("%-d\t ",Fibonacci(i));

}
putchar('\n');
}

看看是不是这个,哈哈!
第2个回答  2010-07-02
#include<stdio.h>

int f(int n)//递归计算
{
if(n == 1 || n == 2)
{
return 1;
}
return f(n-1) + f(n-2);
}

void f1(int n)//非递归计算
{
int a[] = {1, 1};
int i = 0;
for(i = 0; i < n; i++)
{
if(i > 1)
{
a[i%2] = a[0] + a[1];
}
if((i%5 == 0) && i != 0)
{
printf("\n");
}
printf("%d ", a[i%2]);
}
}

int main()
{
int i = 0;
for(i = 1; i <= 40; i++)
{
printf("%d ", f(i));
if(i%5 == 0)
{
printf("\n");
}
}

f1(40);
system("pause");
return 0;
}
相似回答
大家正在搜