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

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

1、国家三级(数据库技术)机试模拟试卷 99及答案与解析 一、程序设计题 1 编写函数, isValue,它的功能是:求以下数列中满足 t(K)=1的最小的 k,结果由函数返回。其中数列 t(n)的定义为: t(0)=m(m为给定正整数, m =300) t(n+1)=t(n)/2 (当 t(n)为偶数时 ) 或 t(n+1)=3*t(n)+1(当 t(n)为奇数时 ) 最后调用函数 writeDat()读取 50个数据 m,分别得出结果且把结果输出到文件out.dar中。 例如:当 t=299时,函数 值为 117。 已知对于 m =300,结果 k不超过 300 部分源程序已给出。 请勿改动主

2、函数 main()和写函数 writeDat()的内容。 #include stdio. h int jsValue(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); p

3、rintf( “%dn“, s ); fprintf (out, “%dn“ , s ); fclose (in); fclose (out); 国家三级(数据库技术)机试模拟试卷 99答案与解析 一、程序设计题 1 【正确答案】 int isValue(int m) /*初值 t(0)=m*/ int fn=m, k=0; /*t(k) != 1, 求 t(k+1)*/ while ( fn ) if (fn%2=1) /*t(k)为奇数 */ fn-3*fn+1; else /*t (k) 为偶数 */ fn=fn/2; k+; /*t (k) =1, 返回 k*/ return k; 【试题解析】 类型:序列计算。 关键点:分析序列定义,选择合适的方法生成和存储序列或序列中的特定值。 根据序列定义,以及题目的输出要求,可选择保存序列中的所有值,也可以只保留与当前项计算相关的几项,采用递推的方式进行计算。 对于某些特殊序列,还可以求出通项公式,利用公式直接计算。 此题只需要保存当前项,根据当前项计算下一项。

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

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

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