[计算机类试卷]国家三级(数据库技术)机试模拟试卷100及答案与解析.doc

上传人:tireattitude366 文档编号:495242 上传时间:2018-11-28 格式:DOC 页数:2 大小:25.50KB
下载 相关 举报
[计算机类试卷]国家三级(数据库技术)机试模拟试卷100及答案与解析.doc_第1页
第1页 / 共2页
[计算机类试卷]国家三级(数据库技术)机试模拟试卷100及答案与解析.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家三级(数据库技术)机试模拟试卷 100及答案与解析 一、程序设计题 1 编写函数 jsValue,它的功能是:求 Hofstadter数列中的第 m项 H(m)(m1000),结果由函数返回。其中数列 H(n)的定义为: H(1)=H(2)=1 H(n)=H(n-H(n-1)+H(n-H(n-2)(n 2) 最后调用函数 writeDat()读取 50个数据 m,分别得出结果且把结果输出到文件out.dat中。 例如:当 t=997时,函数值为 605。 部分源程序已给出。 请 勿改动主函数 main()和写函数 writeDat()的内容。 #include stdio. h int j

2、sValue(int m) main ( ) int m; m=300; printf (“m=%d, k-%dn“, m, jsValue (m); writeDat ( ); writeDat ( ) FILE *in, *out; int i,m,s; in= fopen ( “in. dar“ , “r“ ); out=f open ( “out. dar“ , “w“ ); for (i=0; i 50; i+) fscanf (in, “%d“, s=jsValue (m); printf( “%dn“, s ); fprintf (out, “%dn“ , s ); fclose

3、 (in); fclose (out); 国家三级(数据库技术)机试模拟试卷 100答案与解析 一、程序设计题 1 【正确答案】 int jsVelue(int m) if (m 0) return -1; /*参数错误,正常运行不会出现 */ if(m=1 | m=2) return 1; /*初值 H1: H2=1*/ else return jsValue (m-jsValue (m-1) +jsValue (m-jsValue (m-2); /*调用 jsValue递归计算 Hk*/ /*解法二,递推 */ int jsValue(int m) int H1000, i; H1=1; H2=1; /*初值 H1=H2=1*/ for (i=3; i =m; i+) Hi = Hi-Hi-1) +Hi-Hi-2; /*H(k)(k i)的值都己计算完成,直接使用 */ return Hm; /*返回所求的值 */ 【试题解析】 类型:序列计算。 关键点:分析序列定义,选择合适的方法生成和存储序列或序列中的特定值。 此题有两种解法: 1按照定义编写递归函数; (计算量大,容易超时,慎用 )。 2保存所有值,从小到大递推求解。

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

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

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