Online Compiler C

#include <stdio.h> int main() { int n; scanf ("%d",&n); int a = 1, b = 1; int c = 0; if (n == 1){ printf ("1"); return 0; } printf ("1 1 "); for (int i = 3;i <= n;i++){ c = a + b; printf ("%d ",c); a = b; b = c; } return 0; }
这段代码的功能是输出斐波那契数列的前n项。它从第1项和第2项都是1开始,然后通过循环计算后续每一项(当前项等于前两项之和),并依次打印出来。代码对n=1的情况做了特殊处理,直接输出1并结束。

- 当n=2时,代码会先打印"1 1 ",然后循环从i=3开始,所以不会执行循环体,输出末尾会多一个空格。你可以考虑如何让输出格式更整洁,比如在循环内部处理空格,或者调整输出逻辑。
- 变量c在循环外初始化为0,但只在循环内使用。你可以思考是否需要在循环外定义它,或者直接在循环内声明,让代码更清晰。