在线编译器 C

#include <stdio.h> int main(void) { int n; scanf("%d", &n); int f1 = 1, f2 = 1, f3; for (int i = 1; i <= n; i++) { printf("%d", f1); f3 = f1 + f2; f1 = f2; f2 = f3; } return 0; }
这段代码的功能是输出斐波那契数列的前n项。程序从用户输入读取n,然后通过循环依次计算并打印每一项。初始值f1和f2都设为1,每次循环先打印当前项f1,再计算下一项并更新变量。

- 检查循环的起始值。当n为1时,循环只执行一次,输出f1=1,这是正确的。但当n为0时,循环会执行0次,不会输出任何内容,但斐波那契数列通常从第1项开始定义,所以n=0可能不需要处理。不过更关键的是,当n较大时,你的输出中各项之间没有空格或换行,所有数字会连在一起,比如输入5会输出"11235",而不是"1 1 2 3 5"。考虑在printf中添加分隔符。

- 注意变量类型。斐波那契数列增长很快,当n较大时(比如n=50),int类型会溢出。虽然题目可能只要求小规模输入,但可以思考是否需要使用更大的整数类型。