编辑代码

#include <stdio.h>

//递归
int fibonacciRecursive(int n) {
    if (n <= 1)
        return n;
    else
        return fibonacciRecursive(n - 1) + fibonacciRecursive(n - 2);
}
//递推
int fibonacciIterative(int n) {
    if (n <= 1)
        return n;

    int a = 0;
    int b = 1;
    int result = 0;

    for (int i = 2; i <= n; i++) {
        result = a + b;
        a = b;
        b = result;
    }

    return result;
}

int main() {
    int n = 5; 
    int result1 = fibonacciRecursive(n);
    printf("第%d个斐波那契数为%d。\n", n, result1);
    int result2 = fibonacciIterative(n);
    printf("第%d个斐波那契数为%d。\n", n, result2);
    n = 10; 
    result1 = fibonacciRecursive(n);
    printf("第%d个斐波那契数为%d。\n", n, result1);
    result2 = fibonacciIterative(n);
    printf("第%d个斐波那契数为%d。\n", n, result2);
    n = 15; 
    result1 = fibonacciRecursive(n);
    printf("第%d个斐波那契数为%d。\n", n, result1);
    result2 = fibonacciIterative(n);
    printf("第%d个斐波那契数为%d。\n", n, result2);
    return 0;
}