📅  最后修改于: 2023-12-03 15:40:05.311000             🧑  作者: Mango
斐波那契数列是指这样一个数列:1、1、2、3、5、8、13、21、34、…… 这个数列从第三项开始,每一项都等于前两项之和。即:
$$F_{0}=0,F_{1}=1,F_{n}=F_{n-1}+F_{n-2}(n>=2)$$
#include<stdio.h>
int main()
{
// 定义变量
int n, i;
long long a = 0, b = 1, c;
// 读入要输出的斐波那契数列项数
printf("请输入要输出的斐波那契数列项数:\n");
scanf("%d", &n);
// 输出斐波那契数列
printf("斐波那契数列前%d项为:\n", n);
for(i = 0; i < n; i++)
{
if(i < 2)
c = i;
else
{
c = a + b;
a = b;
b = c;
}
printf("%lld ", c);
}
printf("\n");
return 0;
}
在程序开头首先定义了需要用到的变量,包括输入的项数n,循环计数器i,以及计算斐波那契数列的变量a、b和c。
int n, i;
long long a = 0, b = 1, c;
使用printf()函数提示用户输入要输出的斐波那契数列的项数,读入用户输入的值存到变量n中。
printf("请输入要输出的斐波那契数列项数:\n");
scanf("%d", &n);
使用for循环计算并输出斐波那契数列前n项。当i小于2时,斐波那契数列第一项和第二项均为1,直接输出当前项的值i。当i大于等于2时,使用a和b变量计算出当前项的值c,将a和b依次依次赋值给斐波那契数列下一项计算使用。
for(i = 0; i < n; i++)
{
if(i < 2)
c = i;
else
{
c = a + b;
a = b;
b = c;
}
printf("%lld ", c);
}
使用printf()函数输出最终的斐波那契数列。
printf("\n");
本文中讲解了斐波那契数列的定义和C程式实现,以及C程式代码的分析,希望能给程序员带来收获。