Fibonacci数列小程序

                                                        Fibonacci数列小程序

     问题分析Fibonacci数列特征是前两项数均为1,从第三项起,前两项的和为第三项的数的数值用公式归纳起来为:f1=f2=1f1=f1+f2f2=f1+f2

     程序源代码:

      #include<stdio.h>

      #include<stdlib.h>

      main()

     {

          int m,n,i,j=1;

          long f1,f2; 

          printf("     Fibonacci数列测试小程序 "); /***可省略***/

          printf("请输入测试数据组数 "); /***可省略***/

          scanf("%d",&n);

        while(n--)

       {    

            if(n+1)

           {

              printf(" %d组测试 ",j);

              j++;

            }

         printf("请输入需要输出数的序号: ");/***可省略***/

         scanf("%d",&m);

       f1=f2=1;

       for(i=2;i<m;)

         {

            f1=f1+f2;

            i++;  

         if(i==m) break;

            f2=f1+f2;

            i++;

           if(i==m) break; 

        }

          if(i%2==1)

           printf("%d个数为%d ",m,f1);

          else

          printf("%d个数为%d ",m,f2);

         system("pause");

         system("CLS");

        printf("     Fibonacci数列测试小程序 ");/***可省略***/

       } 

   } 

程序分析: while 循环表示的是测试数据的组数,程序最主要的部分是对公式:f1=f2=1f1=f1+f2f2=f1+f2的运用。由于所指定的数的序号不确定,所以每得出一项数就需要判断一下该项数的序号。又须知道所给序号是奇是偶,然后是奇数输出f1,是偶数输出f2。当然,也可以将f1f2均赋值给同一个变量,然后再输出这个变量,就不需要再判断了。

 

原文地址:https://www.cnblogs.com/hechuxunni/p/5167717.html