三级数据库上机数列题问题,急!

来源:百度知道 编辑:UC知道 时间:2024/09/25 13:22:21
编写函数FibValue(),其功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数WData()从IN.dat中读取50个数据t,分别得出结果,且把结果输出到OUT.dat文件中。
例如,当t=1000时,函数值为1597。
注意:部分程序已经给出。请勿改动主函数main()和写函数WData()的内容。
正确答案:
int f0=0,f1=1,fn;
fn=f0+f1;
while(fn<=t)
{
f0=f1;
f1=fn;
fn=f0+f1;
}
return fn;
我写成了:
int f0=0,f1=1,fn;
fn=f0+f1;
while(fn<t)
{
f0=f1;
f1=fn;
fn=f0+f1;
}
return fn;
就是循环部分while(fn<=t)我写成了while(fn<t)
会不会影响成绩,有谁做过这道题吗?我很担心,怕考试系统的读入文件中有临界值会造成结果不对。

虽说这么回答很可能得不到你的分,
但是我还是要说,你这么写肯定是不能得全分的。

这种题目会分为各个记分点,写出其中的一个记分点得相应的分,
临界值的确认一定是其中的一个记分点,
所以这里的while条件的分值一定会被扣掉的:(