首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:求Fibonacci数列中大于t的最小的数,结果由函数返回。Fibonacci数列F(n)的定义为:
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:求Fibonacci数列中大于t的最小的数,结果由函数返回。Fibonacci数列F(n)的定义为:
admin
2020-06-02
68
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:求Fibonacci数列中大于t的最小的数,结果由函数返回。Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
例如,当t=1000时,函数值为1597。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<conio.h<
#include<math.h<
#include<stdio.h<
int fun(int t)
{
}
main()
{
int n;
n=1000;
printf("n=%d,f=%d\n",n,fun(n));
}
选项
答案
int fun(int t) { int f0=0,f1=1,f; do{ /*根据Fibonacci数列的定义求数值*/ f=f0+f1; f0=f1;f1=f; }while(f<t);/*如果求的数值小于t则继续*/ return f; }
解析
根据所给数列定义不难发现,该数列最终的结果是由两个数列之和组成,所以可以在循环内部始终把f看成是前两项之和,而f0始终代表第n-2项,f1代表第n-1项。退出循环时得到的数f,就是大于指定数的最小的数。
转载请注明原文地址:https://kaotiyun.com/show/RlCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。
有以下程序#includeintfun(int(*s)[4],intn,intk){intm,i;n1=s[0][k];for(i=1;im)m=s[i][k];returnm;}
有以下程序,程序运行后的输出结果是#include#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){printf("%d\n",NUM);}
有以下程序#includeintfun(char*s){char*p=s;while(*p!=0)p++;return(p-s);)main(){printf("%d\n",fun("goodbcy!"
若有定义语句:intyear=2009,*p=&year;以下不能使变量year中的值增至2010的语句是
若有定义语句:inta[2][3],*p[3];则以下语句中正确的是
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是
在深度为7的满二叉树中,叶子结点的个数为
若有以下程序段intr=8;printf("%d\n",r>>1);输出结果是
随机试题
对有关条款的修订,世贸组织规定须经()
企业经营在国际市场中扩张的路径通常表现为()
新建一个Excel工作簿以后,做操作“插入→工作表”,工作表顺序为Sheet1、Sheet4、Sheet2、Sheet3。()
设向量a=(2,4,一5),b=(2,3,k),若a与b垂直,则k=________.
18岁,女性,突然剧烈头痛、伴呕吐,查体:颈项强直,克氏征(+),布氏征(+),体温37.0℃,既往身体健康。CT示双侧裂池及纵裂池内等密度影。病人每日尿量必须保证超过()
男性,43岁。因腹痛,消瘦来诊,行胃镜检查示胃溃疡,该患者腹痛的性质错误的是
下列关于蛋白质二级结构的叙述正确的是
属于债务人用于偿债的非现金资产有()。
序数效用论对消费者的偏好的假设有()。
IntheUnitedStates,peoplemaygotodifferentshoppingplacesaccordingtotheireconomic【T1】______.Wealthypeopleoftengo
最新回复
(
0
)