问答题 1.  请编写函数proc(),它的功能是:求Fibonacci数列中小于n的最大的一个数,结果由函数返回。
    Fibonacci数列F(n)的定义为
    F(0)=0,F(1)=1
    F(n)=F(n-1)+F(n-2)
    例如,n=500时,函数值为377。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填写所编写的若干语句。
    试题程序:
    #include<stdlib.h>
    #include<conio.h>
    #include<math.h>
    #include<stdio.h>
    int proc(intt)
    {
    }
    void main()
    {
    int n;
    system("CLS");
    n=500:
    printf("n=%d,f=%d\n",n,proc(n));
    }
【正确答案】int proc(int t)
   {
   int a[500];
   a[0]=0;  //a[0]表示数列的第1项
   a[1]=1;  //a[1]表示数列的第2项
   for(inti=2;i<=t;i++)
   {
   a[i]=a[i-1]+a[i-2];//根据公式列出第i项的计算式
   if(a[i]>=t)  //若a[i]大于t的值
   returna[i-1];//返回a[i]的前一项a[i-1]的值
   }
   }
【答案解析】 由题目所给的公式可知,Fibonacci数列的第n项为第(n-1)项和第(n-2)项的和。要求Fibonacci数列中小于n的最大的一个数,首先,根据公式求出Fibonacci数列的第n项的值,若第i项大于n,则返回第(i-1)项的值。