[计算机类试卷]国家三级(数据库技术)机试模拟试卷100及答案与解析.doc
《[计算机类试卷]国家三级(数据库技术)机试模拟试卷100及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家三级(数据库技术)机试模拟试卷100及答案与解析.doc(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保存所有值,从小到大递推求解。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 三级 数据库技术 模拟 100 答案 解析 DOC
