编辑代码

#include <stdio.h>
//递归
int fibonacci(int n){
    if(n<1) return 0;
    if(n==1||n==2) return 1;
    return fibonacci(n-1)+fibonacci(n-2);
    
}

//递归
int fibonaccirecur(int n){
    int f0=0,f1=1;
    if(n==0||n==1) return n;
    int i,f;
    for(i=2;i<=n;i++){
        f=f0+f1;
        f0=f1;
        f1=f;
    }
    return f;

}

int main () {
    printf("递归:Fib(%d)=%d\n",0,fibonacci(0));
    printf("递归:Fib(%d)=%d\n",1,fibonacci(1));
    printf("递归:Fib(%d)=%d\n",2,fibonacci(2));
    printf("递归:Fib(%d)=%d\n",3,fibonacci(3));
    printf("递归:Fib(%d)=%d\n\n",7,fibonacci(7));
    
    printf("递推:Fib(%d)=%d\n",0,fibonaccirecur(0));
    printf("递推:Fib(%d)=%d\n",1,fibonaccirecur(1));
    printf("递推:Fib(%d)=%d\n",2,fibonaccirecur(2));
    printf("递推:Fib(%d)=%d\n",3,fibonaccirecur(3));
    printf("递推:Fib(%d)=%d\n",7,fibonaccirecur(7));
    return 0;
   
    
}