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

账号登录下载
微信登录下载
下载资源需要5000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
【计算机类职业资格】三级信息管理技术机试-244及答案解析.doc
1、三级信息管理技术机试-244 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.下列程序的功能是:选出 1001000 之间的所有个位数字与十位数字之和被 10 除所得余数恰是百位数字的素数。计算并输出上述这些素数的个数 cnt,以及这些素数值的和 sum。请编写函数 countValue()实现程序要求,最后调用函数 writeDAT()把结果 cnt 和 sum 输出到文件 OUT90.DAT 中。注意:部分源程序已给出。请勿改动主函数 main()和写函数 writeDAT()的内容。试题程序:#include stdio.hint c
2、nt,sum;void writeDAT();void countValue()void main()cnt=sum=0;countValue();printf(“素数的个数=% d/n“,cnt);printf(“满足条件素数值的和=% d“,sum);writeDAT();void writeDAT()FILE * fp;fp=fopen(“OUT90.DAT“,“w“);fprintf(fp,“% d/n% d/n“,cnt,sum);fclose(fp);(分数:100.00)_三级信息管理技术机试-244 答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分
3、数:100.00)1.下列程序的功能是:选出 1001000 之间的所有个位数字与十位数字之和被 10 除所得余数恰是百位数字的素数。计算并输出上述这些素数的个数 cnt,以及这些素数值的和 sum。请编写函数 countValue()实现程序要求,最后调用函数 writeDAT()把结果 cnt 和 sum 输出到文件 OUT90.DAT 中。注意:部分源程序已给出。请勿改动主函数 main()和写函数 writeDAT()的内容。试题程序:#include stdio.hint cnt,sum;void writeDAT();void countValue()void main()cnt=
4、sum=0;countValue();printf(“素数的个数=% d/n“,cnt);printf(“满足条件素数值的和=% d“,sum);writeDAT();void writeDAT()FILE * fp;fp=fopen(“OUT90.DAT“,“w“);fprintf(fp,“% d/n% d/n“,cnt,sum);fclose(fp);(分数:100.00)_正确答案:(void countValue()int i,j; /*定义循环控制变量*/int a3,a2,a1; /*定义变量存储 3 位数每位的数字*/int half;for(i=101;i1000;i + +)
5、 /*在该范围内寻找符合条件的数*/a3=i/100; /*求百位数字*/a2=i%100/10; /*求十位数字*/a1=i%10; /*求个位数字*/if(a3=(a2+a1)%10) /*如果个位数字与十位数字之和被 10 除所得余数恰是百位数字*/half=i/2;for(j=2;j=half;j + +) /*进一步判断该数是否为素数*/if(i%j=0)break; /*如果不是素数,则跳出循环,接着判断下一个数*/if(jhalf) /*如果是素数*/cnt + +; /*计算这些素数的个数 cnt*/sum+=i; /*计算这些素数的和值 sum*/)解析:解析 本题的解题思路是利用一个 for 循环依次取得 1001000 之间的数,接着求得当前所取得的数的各个数位上的数字,然后判断该数个位数字与十位数字之和被 10 除所得的余数是否恰好等于百位上的数字。如果该条件成立,接着去判断原数是否是素数。最后将满足以上两个条件的数累加到变量sum(素数的和值)中,同时通过计数器变量 cnt 统计出素数的个数。