【计算机类职业资格】全国计算机等级考试三级信息管理技术机试真题2006年4月及答案解析.doc

上传人:diecharacter305 文档编号:1329482 上传时间:2019-10-17 格式:DOC 页数:4 大小:27.50KB
下载 相关 举报
【计算机类职业资格】全国计算机等级考试三级信息管理技术机试真题2006年4月及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】全国计算机等级考试三级信息管理技术机试真题2006年4月及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】全国计算机等级考试三级信息管理技术机试真题2006年4月及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】全国计算机等级考试三级信息管理技术机试真题2006年4月及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、全国计算机等级考试三级信息管理技术机试真题 2006年 4月及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.请编写一个函数 is Value(int m,int k,int xx),该函数的功能是:将小于整数 m且紧靠 m的 k个素数存入数组 xx传回。最后调用函数 writeDat()读取 10组数据,分别得出结果且把结果输出到文件out.dat中。注意:部分源程序给出如下。例如:若输入 17,5,则应输出:13,11,7,5,3。请勿改动主函数 main和输出数据函数 readwriteDat()的内容。试题源程序#includecon

2、ioh#includestdiohvoid readwriteDat();void num(int m,int k,int xx)main()int m,n,xx1000;system(“cls“);printf(“/nPlease enter two integers;“);scanf(“%d%d“,m,n);num(m,n,xx);for(m=0;mn;m+)printf(“%d“,xxm);printf(“/n“);readwriteDat();void readwriteDat()int m,n,xx1000,i;FILE*rf,*wf;rf=fopen(“indat“,“r“);wf

3、fopen(“outdat“,“w“);for(i=0;i10;i+)fscanf(rf,“%d%cr,m,rf=fopen(“indat“,“r“);wf=fopen(“outdat“,“w“);for(i=0;i10;i+)fscanf(rf,“%d%cr,m,&n);num(m,n,xx);for(m=0;mn;m+)fprintf(wf,“%d“,xxm);fprintf(wf,“/n“);fclose(rf);fclose(wf);(分数:100.00)_正确答案:(void num(int m,int k,int xx)int i,j,n;for(n=m-1,i=0;ik;n-)

4、 /*该循环用了 2个循环变量,n 用来跟踪 m之前的数,所以每趟减 i,i 用来计算找到素数的个数,所以该循环结束的条件为 i等于 k*/for(j=2;j=n/0;j+) /*该循环用于判断 n是否是素数*/if(n%J=0)break;if(jn/2)xxi+=rl; /*找到一个素数,先存入 xxi然后 i增 l*/)解析:解析 本题主要考查的是素数及其计算问题。用 for循环来跟踪 m之前的 k个素数,对于某个 m之后的数 n判断其是否为素数,若是则将其赋值给 xxi同时变量 i增 1,变量 i从。到 k-1用来控制 k个素数被存入 xx。判断 n是否为素数只要内嵌一个 for循环使循环变量 j从 2到 n得一半,判断 n是否能整除 j,如果有一个能整除则跳出内层 for循环时 j=n/2,表示 n不是素数,否则内层 for循环结束的条件为 jn/2,表示 n为素数。

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

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

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