C语言实现斐波那契数列
对于斐波那契数列,其下一个数字是前两个数字的和,例如:0、1、1、2、3、5、8、13、21等等;斐波那契数列的前两个数为0和1;
使用C语言实现斐波那契数列的方法有两种,递归和无递归;
无递归的C语言实现方法
不使用递归的C语言示例源码:
#include <stdio.h>
int main(){
int n1=0,n2=1,n3,i,number;
printf("Enter the number of elements:");
scanf("%d",&number);
printf("\n%d %d",n1,n2);//打印0和1
for(i=2;i<number;++i){
//从2开始循环,因为0,1已经打印
n3=n1+n2;
printf(" %d",n3);
n1=n2;
n2=n3;
}
return 0;
}
程序运行效果如下:

使用递归的C语言实现方法
使用递归的C语言示例源码:
#include <stdio.h>
void printFibonacci(int n){
static int n1=0,n2=1,n3;
if(n>0){
n3 = n1 + n2;
n1 = n2;
n2 = n3;
printf("%d ",n3);
printFibonacci(n-1);
}
}
int main(){
int n;
printf("Enter the number of elements: ");
scanf("%d",&n);
printf("Fibonacci Series: ");
printf("%d %d ",0,1);
printFibonacci(n-2);//n-2 因为已经打印了2个数
return 0;
}