C 语言程序打印斐波那契数列


2022 年 3 月 18 日, Learn eTutorial
1880

斐波那契数列是一个数列,其中每个数字都是其前面两个相邻数字的和。为了更好地理解此 C 斐波那契程序示例,我们始终建议您学习下面列出的 C 编程基础主题

什么是斐波那契数列?

在这个 C 语言程序中,我们将学习如何显示斐波那契数列。斐波那契数列是通过将前两个数相加来生成所计算的数的数列。

例如,让我们看看斐波那契数列 0, 1, 1, 2, 3, 5, ... 斐波那契数列中的前两个数是 11,或 01,具体取决于所选数列的起点,并且每个数是前两个数的和。1+1 =2,然后 2+3 = 5,依此类推。

斐波那契数列的数学公式如下 f_n = f_{n-1} + f_{n-2},\!\, 前两个数是 01,我们需要手动给定,然后 0+11,现在加上 1+12,依此类推。

简单来说,斐波那契数列是一个序列,其中下一个项是前两个项的和。

Prime number Checking

如何使用 C 语言程序打印斐波那契数列

要解决这个斐波那契数列 C 程序,我们需要导入头文件库,然后从用户那里接收斐波那契数列所需的项数。然后我们硬编码打印数列的前两个值 01,并初始化变量 count2,因为前两个值我们已经打印过了。

现在我们使用一个 while 循环,从计数到用户输入的项数,通过将存储在两个变量 fib1fib2 中的前两个数字相加来计算数列中的下一个数字,并打印结果数字。现在将变量 count 增加 1,然后将 fib1 的变量值更改为 fib2,将 fib2 更改为结果数字,以便在循环的下一次迭代中找到下一个值。

算法

步骤 1: 将头文件库导入程序,以使用内置函数。

步骤 2: 使用 main() 函数开始程序执行。

步骤 3: 使用 int 数据类型定义变量,并将 fib1fib2 初始化为 01

步骤 4: 使用 printfscanf 函数从用户那里接收斐波那契数列所需的项数。

步骤 5: 打印数列的前两项为 01,然后将 Count 设置为 2

步骤 6: 使用 while 循环,从 2 到项数,打印所有斐波那契数列。

步骤 7: 通过将前两项相加计算第三项,并将 Count 增加 1

步骤 8: 打印数列的项。

步骤 9:fib1 的数字与 fib2 的数字互换,将 fib2 的数字与 fib3 的数字互换。

C 语言源代码

                                          #include <stdio.h>

void main()
{
  int fib1 = 0, fib2 = 1, fib3, N, count = 0;
  printf("Enter the value of N\n");               /* enter the value from the user  */
  scanf("%d", & N);
  printf("First FIBONACCI numbers are ...\n", N);
  printf("%d\n", fib1);
  printf("%d\n", fib2);
  count = 2;                                                  /* fib1 and fib2 are already used */
  while (count < N)
  {
      fib3 = fib1 + fib2;                                /* while loop for generating first N Fibonacci numbers  */
      count++;
      printf("%d\n", fib3);                            /* display the Fibonacci series  */
      fib1 = fib2;
      fib2 = fib3;                                          /* changing the variables */
  }
}                                                                  /* End of main() */
                                      

输出

Enter the value of N
10

First 5 FIBONACCI numbers are ...

0
1
1
2
3
5
8
13
21
34