#include <stdio.h>

int main() {
    int fib[100];  // 存储斐波那契数列（最多100项）
    int n, i;

    printf("请输入要生成的斐波那契数列项数n：");
    scanf("%d", &n);

    // 处理边界情况
    if (n <= 0) {
        printf("请输入正整数！\n");
        return 0;
    }

    // 初始化前两项
    fib[0] = 1;
    if (n >= 2) {
        fib[1] = 1;
    }

    // 计算从第3项开始的每一项
    for (i = 2; i < n; i++) {
        fib[i] = fib[i - 1] + fib[i - 2];  // 递推公式
    }

    // 输出斐波那契数列
    printf("斐波那契数列前%d项为：\n", n);
    for (i = 0; i < n; i++) {
        printf("%d\t", fib[i]);
        // 每输出5项换行，优化显示
        if ((i + 1) % 5 == 0) {
            printf("\n");
        }
    }
    printf("\n");

    return 0;
}
