#include <stdio.h>
int main() {
int i = 1, m = 1, k = 1, o = 0, n;
printf("请输入一个整数:");
scanf("%d", &n);
if (n == 1) {
printf("%d", i);
return 0;
}
else {
printf("%d %d ", i, k);
}
for (; o < n - 2; o++) {
i = m;
m = k + m;
k = i;
printf("%d ", m);
}
return 0;
}
我们首先输入我们想要打印几个数。
在这里我们分为两种情况,一种情况是输入1的情况,那么我们只打印一个数并且退出程序,否则输入两个数以上(包含两个数)那么我们就先打印数列的前两项。
之后我们进入循环,这里使用n-2是因为我们已经打印了前两项。
进入循环后,第一步我们先用一个中间变量i保存数列n项。
第二步生成n+1项,等式左边的m是新生成的项(也就是n+1项),右边的m是第n项。
第三步我们将n-1项赋值给变量k(因为新生成了项数,所以这时候的i表示n-1项)
最后我们打印数列。
(新手写作,如有解释不清楚,请谅解,也请各位大佬指出哪里的解释有问题)