首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为 F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 例如:t=1000时,函数值为9
请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为 F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 例如:t=1000时,函数值为9
admin
2009-02-15
63
问题
请编写函数fun(),它的功能是求Fibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
例如:t=1000时,函数值为987。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <conio.h>
#include <math.h>
#include <stdio.h>
int fun(int t)
{
}
main()
{
int n;
clrscr();
n=1000;
printf("n=%d, f=%d\n",n, fun(n));
}
选项
答案
int fun(int t) { int a=1,b=1,c=0,i; /*a代表第n-2项,b代表第n-1项,c代表第n项*/ /*如果求得的数。比指定比较的数小,则计算下一个Fibonacci数,对a,b得新置数*/ do { c=a+b; a=b; b=c; } while(c<t); /*如果求得的数c比指定比较的数大时,退出循环*/ c=a; /*此时数c的前一个Fibonacci数为小于指定比较的数的最大的数*/ return c; }
解析
根据所给数列定义不难发现,该数列最终的结果是由两个数列之和组成,所以可以在循环内部始终把c看成是前两项之和(即第n项),而a始终代表第n-2项,b始终代表第n-1项(通过不断地重新赋值来实现)。应注意,退出循环时得到的数c是大于指定比较的数的最小的数,而它的前一个数就是小于指定比较的数的最大的数。
转载请注明原文地址:https://kaotiyun.com/show/vTID777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
关于人文奥运,下列说法错误的是()。
下列选项中,有关科技词汇与出处对应关系错误的是()。
价格机制的核心内容是()。
国家机构是我国宪法的主要内容之一。下列有关国家机构的说法正确的是()。
六年级五个班的同学共植树100棵。已知每个班植树的棵数都不相同,且按数量从多到少的排名恰好是一、二、三、四、五班。又知一班植的棵数是二、三班植的棵数之和,二班植的棵数是四、五班植的棵数之和,那么三班最多植树多少棵?
如图所示,甲、乙两人从长为400米的圆形跑道的A点背向出发跑步。跑道右半部分(粗线部分)道路比较泥泞,两人的速度都将减慢,在正常的跑道上甲、乙速度均为每秒8米,在泥泞道路上两人的速度均为每秒4米。两人一直跑下去,他们第99次迎面相遇的地方距A点还有多少米?
有一项工程,甲单独做需要36天完成,乙单独做需要30天完成,丙单独做需要48天完成。现在由甲、乙、丙三人同时做,在工作期间,丙休息了整数天,甲、乙均未休息。完成这项工作也用了整数天。则丙休息了多少天?
某市气象局观测发现,今年第一、二季度本市降水量分别比去年同期增加了11%和9%,而两个季度降水量的绝对增量刚好相同。那么今年上半年该市降水量同比增长多少?
小明买了7本书共花去100元,后发现有一本书质量有问题,故补了若干元换了另外一本书。回来后发现,退换后7本书的价格成等差数列且均为整数元,而最贵的书价格为26元,问最便宜的书多少钱?()
根据以下资料,回答以下问题。截至2011年底,我国石油剩余技术可采储量32.4亿吨,天然气4.02万亿方;煤炭查明资源储量1.38万亿吨,铁矿743.9亿吨,铜矿8612万吨,铝土矿38.7亿吨,金矿7419吨。2011年我国矿产资源勘
随机试题
各企业之间的竞争战略越相似,彼此之间的竞争就会越平淡。()
慢性主动脉瓣关闭不全最常见的病因是
肺心病呼吸衰竭时的治疗为
女性,38岁。劳累后心慌、气短、下肢浮肿、纳差5年,加重2周,体检:血压120/70mmHg,心尖区闻及3/6级收缩期吹风样杂音,半卧位,心率120次/分,心律规整,双肺底湿耰音,肝肋下3cm,轻压痛,脾未及,双下肢浮肿。该病人的诊断为
(结核病治疗方法)A.2个月治愈B.在最短的时间内使痰菌转阴C.至少使用三种强效抗结核药D.巩固期治疗一周用药1~2次E.强化期治疗2个月,巩固期治疗4个月联合用药是指
房屋中跨度较小的房间,通常采用现浇钢筋混凝土()。[2008年真题]
“收入一费用一利润”反映的是资金运动的动态方面,反映的是某一会计期间的经营成果,是编制利润表的依据。()
天津建设银行南京路支行主要经营存贷款业务,并提供其他金融服务,2013年第二季度发生了以下儿笔业务:(1)“其他贷款利息收入”200万元,“金融机构往来利息收入”账户反映同业往来利息收入25万元;(2)本期吸收存款10000万元,取得贷
在发生高层建筑火灾时,应当()。
TheIELTSExamIELTS:InternationalEnglishLanguageTestingSystemI.Purposes:forimmigrationstatus,(1)______,applyingfo
最新回复
(
0
)