【计算机类职业资格】三级数据库技术-516及答案解析.doc

上传人:孙刚 文档编号:1321180 上传时间:2019-10-17 格式:DOC 页数:3 大小:29KB
下载 相关 举报
【计算机类职业资格】三级数据库技术-516及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】三级数据库技术-516及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】三级数据库技术-516及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、三级数据库技术-516 及答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.编写函数 jsValue(int t),它的功能是:求 Fibonacci数列中大于 t的最小的一个数,结果由函数返回。其中 Fibonacci数列 F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) (n2) 最后调用函数 writeDat()读取 10个数据 t,分别得出结果且把结果输出到文件 out.dat中。 例如:当 t=1000时,函数值为:1597。 请勿改动数据文件 in.dat中的任何数据、主函数 main()和

2、写函数 writeDat()的内容。 #include stdio.h void writeDat(); /函数 writeDat()的说明语句 int jsValue(int t) main () int n; n=1000; /把 1000赋给 n /*在屏幕上显示 1000和 Fibonacci数列中大于 1000的最小的一个数*/ printf (“n=%d, f=%dn“, n, jsValue (n); writeDat (); /*函数 writeDat()读取 10个数据 t,分别得出结果且把结果输出到文件 out.dat中*/ void writeDat() FILE *in

3、, *out; /定义文件指针 in和 out int i, n, s; in=fopen(“in.dat“, “r“); /以只读的方式打开文件 in.dat,并且使文件指针 in指向文件 in.dat out=fopen(“out.dat“, “w“); /以只写的方式打开文件 out.dat,并且使文件指针 out向文件 out.dat /*每次从文件 in.dat中读取一个数赋 n,并计算出 Fibonacci数列中大于 n的最小的一个数 s,并且把 s的值写入 out.dat文件*/ for(i=0; ii0; i+) /循环变量 i从 0开始,每次递增 1,直到其值等于 10 fs

4、canf(in, “%d“, /从 in.dat文件中读取一个数赋给 n s=jsValue (n); /计算 Fibonacci数列中大于 n的最小一个数并赋给 s fprintf(out, “%dn“, s); /把 s的值写入文件 out.dat fclose(in); /关闭文件 in.dat fclose (out); /关闭文件 out.dat (分数:100.00)_三级数据库技术-516 答案解析(总分:100.00,做题时间:90 分钟)一、设计与应用题(总题数:1,分数:100.00)1.编写函数 jsValue(int t),它的功能是:求 Fibonacci数列中大于

5、t的最小的一个数,结果由函数返回。其中 Fibonacci数列 F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) (n2) 最后调用函数 writeDat()读取 10个数据 t,分别得出结果且把结果输出到文件 out.dat中。 例如:当 t=1000时,函数值为:1597。 请勿改动数据文件 in.dat中的任何数据、主函数 main()和写函数 writeDat()的内容。 #include stdio.h void writeDat(); /函数 writeDat()的说明语句 int jsValue(int t) main () int n; n=

6、1000; /把 1000赋给 n /*在屏幕上显示 1000和 Fibonacci数列中大于 1000的最小的一个数*/ printf (“n=%d, f=%dn“, n, jsValue (n); writeDat (); /*函数 writeDat()读取 10个数据 t,分别得出结果且把结果输出到文件 out.dat中*/ void writeDat() FILE *in, *out; /定义文件指针 in和 out int i, n, s; in=fopen(“in.dat“, “r“); /以只读的方式打开文件 in.dat,并且使文件指针 in指向文件 in.dat out=fo

7、pen(“out.dat“, “w“); /以只写的方式打开文件 out.dat,并且使文件指针 out向文件 out.dat /*每次从文件 in.dat中读取一个数赋 n,并计算出 Fibonacci数列中大于 n的最小的一个数 s,并且把 s的值写入 out.dat文件*/ for(i=0; ii0; i+) /循环变量 i从 0开始,每次递增 1,直到其值等于 10 fscanf(in, “%d“, /从 in.dat文件中读取一个数赋给 n s=jsValue (n); /计算 Fibonacci数列中大于 n的最小一个数并赋给 s fprintf(out, “%dn“, s); /

8、把 s的值写入文件 out.dat fclose(in); /关闭文件 in.dat fclose (out); /关闭文件 out.dat (分数:100.00)_正确答案:()解析:int f0=0,f1=1,f2=1; /定义整型变量 f0,f1,f2,并分别赋初值为 0,1,1 /*f0表示数列中的第 F(n-2)项,f1 表示数列中的第 F(n-1)项,f2 表示数列中的第 F(n)项*/ while(f2t) /当数列中的第 F(n)项的值小于 t时,执行 while循环 f0=f1; /把数列当前第 F(n-1)项的值赋给 f0 f1=f2; /把数列当前第 F(n)项的值赋给

9、f1 f2=f0+f1; /数列当前第 F(n-1)项的值加上第 F(n)项的值得到数列第 F(n+1)项的值 return f2; /退出 while循环时,得到 Fibonacci数列中大于 t的最小的一个数 f2,返回 解析 F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n2)。 定义表示 Fibonacci数列中第 F(n-2)项的变量 f0,第 F(n-1)项的变量 f1,第 F(n)项的变量 f2。 当 Fibonacci数列中第 F(n)项的值 f2小于 t时,把数列当前第 F(n-1)项的值 n赋给 f0,把数列当前第 F(n)项的值 f2赋给 f1,根据 Fibonacci数列的递推关系,第 n项的值等于第 n-1项的值与第 n-2项值的和,计算数列当前第 n+1项的值 f2=f0+f1。依次循环,当 f2的值大于 t时,退出 while循环,把 f2的值返回。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1