1. c语言编写计算斐波那契(Fibonacci)
斐波那契数列为:0,1,1,2,3,5,8,13.....
/*你的程序*/
#include<stdio.h>
int fib(int n,int f)
{
if(n==1&&n==2) /*n不可能同时等于1和2,所以递归无终点,会一直递归下去。*/
{f=1;} /*正确的斐波那契数列是n==1时f=0,n==2时f=1*/
else
{f=fib(n-1,f)+fib(n-2,f);}
return f;
}
int main()
{
int n,f; /*n没有赋初始值*/
f=fib(n,f);
printf("%d",f);
return 0;
}
/*改正后的程序*/
#include<stdio.h>
int fib(int n,int f)
{
if(n==1)
{
f=0;
}
else if(n==2)
{
f=1;
}
else
{
f=fib(n-1,f)+fib(n-2,f);
}
return f;
}
int main()
{
int n,f;
scanf("%d,%d",&n,&f);
f=fib(n,f);
printf("%d",f);
return 0;
}
2. C语言 计算fibonacci数列
C语言程序代码如下:
#include <stdio.h>
main()
{
long int f1,f2;
int i;
f1=1;
f2=1;
for (i=1;i<=9;i++)
{
printf("%ld %ld ",f1,f2);
if (i%3==0) printf("
");
f1=f1+f2;
f2=f2+f1;
}
return 0;
}
if语句是使输出6个数后换行。因为i是循环变量,当i为偶数时换行,因此i每隔2换一次行相当于每输出6个数后换行。
输出结果如下
3. 用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];
}
4. C语言如何用数组求Fibonacci数列的前N项和
1、首先打开vc,点击文件、新建;
5. 如何使用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;
}