求学网 > 新闻中心 > 计算机考试 > 计算机等级考试 > 试题集锦 > 2006年9月全国等级考试三级c语言上机题库(二十)

2006年9月全国等级考试三级c语言上机题库(二十)

文章来源: 作者: 更新时间:2006-12-6 关键字:计算机

题目20(无忧id 80 Fibonacci数列题)

 

编写函数jsValue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:

F(0)=0,F(1)=1

F(n)=F(n-1)+F(n-2)

最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。

例如:当t=1000时,函数值为:1597。

部分源程序存在文件prog1.c中。

请勿改动主函数main()和写函数writeDat()的内容。

#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);

}