2006年9月全國等級考試三級c語言上機題庫(二十)
題目20(無憂id 80 fibonacci數(shù)列題) 編寫函數(shù)jsvalue,它的功能是:求fibonacci數(shù)列中大于t的最小的一個數(shù),結(jié)果由函數(shù)返回。其中fibonacci數(shù)列f(n)的定義為:f(0)=0,f(1)=1f(n)=f(n-1)+f(n-2)最后調(diào)用函數(shù)writedat()讀取50個數(shù)據(jù)t,分別得出結(jié)果且把結(jié)果輸出到文件out.dat中。例如:當(dāng)t=1000時,函數(shù)值為:1597。部分源程序存在文件prog1.c中。請勿改動主函數(shù)main()和寫函數(shù)writedat()的內(nèi)容。#include <stdio.h> int jsvalue(int t){ int f0=0,f1=1,fn;fn=f0+f1;while(fn<=t){ f0=f1;f1=fn;fn=f0+f1;}return fn;} main(){int n;n=1000;printf("n=%d,f=%d\n",n,jsvalue(n));writedat();} writedat(){file *in,*out;int i,n,s; in=fopen("in.dat","r");out=fopen("out.dat","w");for(i=0;i<50;i++){fscanf(in,"%d",&n);s=jsvalue(n);printf("%d\n",s);fprintf(out,"%d\n",s);}fclose(in);fclose(out);}