① 用c语言编写Fibonacci数列

intfib[20]={0,0,1},i;
for(i=3;i<19;i++){
fib[i]=fib[i-1]+fib[i-2]+fib[i-3];
}

② fibonacci数列c语言问题

显然是3呀:第一项和第二项都是1,所以第三项是2,第四项就是3啦,执行结果也对!不过你的程序有错误:
#include<stdio.h>
long f(int y)
{ if(y= =1|| y= =2)//"=="中间不能有空格
return 1;
else
return f(y-1)+f(y-2);
}
main( )
{ long x,long f(int y);//long x后面应该是“;”而不是“,”,或者说long f(int y);这个生命可以去掉

x=f(4);
printf(“f(4) is %ld\n”,x);
}

③ c语言fibonacci数列问题

该问题属于fibonacci取余的问题

解法如下:

需要注意的是:

1:这道题目,建议用临时变量,没必要用版数组存数列,因为题目不权关心数列,只关心取余,也无法知道要设置多大的数组合适,设置小了,数组溢出,设置大了,影响内存(特别是像这样定义了这样的大数组data[20000],在之后的找工作,面试是很被动,很容易被刷);

2:为了防止n太大,f(n)的值导致int存不下,可分步取余(c=(a+b)%10007),然后再加,再取余;

f(n-1)=( f(n-2)+f(n-3) )%10007

f(n-2)=( f(n-3)+f(n-4) )%10007

f(n)=( f(n-1)+f(n-2) )%10007

④ 如何使用C语言输出Fibonacci数列

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int limit = 10; // 输出前10个fibonacci数
int pre1 = 1; // 当前计算值前专面第二个fibonacci数
int pre2 = 1; // 当前计算值前面一个fibonacci数
int res; // 当前计算值
for (i; i < limit; i++)
{
if (i == 0 || i == 1)
{
// 前两个fibonacci数是属1
printf("1 ");
}
else
{
res = pre1 + pre2;
printf("%d ", res);
pre1 = pre2;
pre2 = res;
}
}
return 0;
}

⑤ 斐波那契数列 c语言

#include <stdio.h>
int fn(int a)
{
if (a==1)
return 1;
else
{
if (a==2)
return 2;
else
return fn(a-1)+fn(a-2);
}
}

void main ()
{
int i;
FILE *fp;
fp=fopen("e:\\jieguo.txt","w"); // 保存的路径,可以该。
for (i=1;i<=50;i++)
fprintf(fp,"%d:%d\n",i,fn(i));
fclose(fp);
}
注意:内 程序运行的容有点慢,要等一会儿, 你可以把 50改成 10 ,就能看见运行的结果了
在E盘的jieguo.txt中。

⑥ 求用C语言表达斐波那契数列

#include <stdio.h>

main( ){

long f1,f2,f;

int i,n;

scanf("%d",&n);

f1=f2=1;

if(n<=2)

f=1;

else

for(i=3;i<=n;i++){

f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld ",f);
}

⑦ C语言算斐波那契数列

数字
溢出~~。很明显的问题,你用高精度做吧,用
字符数组
模拟数字。

⑧ c语言编程,用递归实现Fibonacci数列

#include<stdio.h>
#define N 20
int Fibonacci(int n)
{
if(n == 1 || n==2)
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2);
}
void main()
{
int i = 0;
for(i=1;i<=N;i++)
{
printf("%5d",Fibonacci(i));
if(i%5 == 0)
printf("\n");
}
printf("\n");
}
只要修改宏定义N的值,就可以输出专斐波那契数列的前N项。属

⑨ C语言 计算fibonacci数列

就是计算前两个数的和,输出为第三个数,搞清楚要求再来编程即可。只是打印输出内,不需要保留就容整形即可,要保留使用,用数组实现。
int DateOld =0;
int DateNow=1;
int N;
for (N =0;N<18;N++)
{
int temp = DateNow;
printf("%d ", DateNow);
DateNow=DateOld +temp;
DateOld=temp;
}

⑩ C语言斐波那契数列

利用斐波拉其数列计算公式计算:
(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}