编辑代码

#include <stdio.h>

// 递归实现斐波那契数列
int recursion(int n) {
    if(n == 0) {
        return 0;
    }
    else if(n == 1) {
        return 1;
    }
    else {
        return recursion(n-1) + recursion(n-2);
    }
}

// 递推实现斐波那契数列
int iteration(int n) {
    if(n == 0) {
        return 0;
    }
    else if(n == 1) {
        return 1;
    }
    else {
        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;
    printf("输入一个正整数:");
    scanf("%d", &n);
    printf("递归实现 - 第%d个斐波那契数:%d\n", n, recursion(n));
    printf("递推实现 - 第%d个斐波那契数:%d\n", n, iteration(n));
    return 0;
}