【计算机类职业资格】三级信息管理技术机试-243及答案解析.doc
-
资源ID:1320713
资源大小:26.50KB
全文页数:3页
- 资源格式: DOC
下载积分:5000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要5000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
【计算机类职业资格】三级信息管理技术机试-243及答案解析.doc
1、三级信息管理技术机试-243 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.下列程序的功能是:计算 500800 之间素数的个数 cnt,并按所求素数存入数组 yy 中,再计算其间隔加、减之和,即第 1 个素数-第 2 个素数+第 3 个素数-第 4 个素数+第 5 个素数的值 sum。请编写函数countValue()实现程序的要求,最后调用函数 writeDat()把结果 cnt 和 sum 输出到文件 OUT89.DAT 中。注意:部分源程序已给出。请勿改动主函数 main()和写函数 writeDAT()的内容。试题程序:#inc
2、lude stdio.hint cnt,sum;void writeDAT();void countValue()void main()cnt=sum=0;countValue();printf(“素数的个数=% d/n“,cnt);printf(“按要求计算的值=% d/n“,sum);writeDAT();void writeDAT()FILE * fp;fp=fopen(“OUT89.DAT“,“w“);fprintf(fp,“ % d/n% d/n“,cnt,sum);fclose(fp);(分数:100.00)_三级信息管理技术机试-243 答案解析(总分:100.00,做题时间:9
3、0 分钟)一、上机题(总题数:1,分数:100.00)1.下列程序的功能是:计算 500800 之间素数的个数 cnt,并按所求素数存入数组 yy 中,再计算其间隔加、减之和,即第 1 个素数-第 2 个素数+第 3 个素数-第 4 个素数+第 5 个素数的值 sum。请编写函数countValue()实现程序的要求,最后调用函数 writeDat()把结果 cnt 和 sum 输出到文件 OUT89.DAT 中。注意:部分源程序已给出。请勿改动主函数 main()和写函数 writeDAT()的内容。试题程序:#include stdio.hint cnt,sum;void writeDAT
4、();void countValue()void main()cnt=sum=0;countValue();printf(“素数的个数=% d/n“,cnt);printf(“按要求计算的值=% d/n“,sum);writeDAT();void writeDAT()FILE * fp;fp=fopen(“OUT89.DAT“,“w“);fprintf(fp,“ % d/n% d/n“,cnt,sum);fclose(fp);(分数:100.00)_正确答案:(void countValue()int i,j; /*定义循环控制变量*/int half; /*判断素数时所需值的存储变量*/in
5、t xx100; /*定义整型数组,用来保存素数*/for(i=500;i800;i + +) /*在这个范围内进行筛选*/half=i/2;for(j=2;j=half;j + +) /*判断是否为素数*/if(i%j=0)break; /*如果该数不是素数,则退出此层循环*/if(j=half) /*如果该数是素数,则将该数存入数组 yy 中*/xxcnt=i;cnt + +; /*统计素数的个数*/for(i=0,j=-1;icnt;i + +) /*计算这些素数的间隔加、减之和*/j*=-1; /*用变量 j 来控制间隔的加减号*/sum+=j*xxi;)解析:解析 在本题中,首先要找出判断素数的方法。若一个数 a 依次除以从 2 到 a/2 的数所得的余数都不是 0,则这个数是素数。用此方法依次筛选出从 500-800 区间内的素数。然后,将满足条件的数存入数组 xx 中,并统计素数的个数。最后,用一个 for 循环和变量 j 来实现间隔加、减,最终计算出结果。