【计算机类职业资格】三级网络技术机试-249及答案解析.doc
-
资源ID:1321951
资源大小:27.50KB
全文页数:3页
- 资源格式: DOC
下载积分:5000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要5000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
【计算机类职业资格】三级网络技术机试-249及答案解析.doc
1、三级网络技术机试-249 及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.请编写一个函数 js Value(int m,int k,int xx),该函数的功能是:将小于整数 m 且紧靠 m 的 k个素数存入数组 xx 传回。最后调用函数 writeDat( )读取 10 组数据,分别得出结果且把结果输出到文件out.dat 中。注意:部分源程序给出如下。例如:若输入 17,5,则应输出:13,11,7,5,3。请勿改动主函数 main 和输出数据函数 readwriteDat( )的内容。试题源程序#includeconio.h#incl
2、udestdio.hvoid readwriteDat();void hum(int m,int k,int xx)main()int m,n,xx1000;system(“cls“);printf(“/nPlease enter two integers:“);scanf(“%d%d“,void readwriteDat()int m,n,=1000,i;FILE*rf, *wf:rf=fopen(“in.dat“,“r“):wf=fopen(“out.dat“,“w“); for(i=0;i10;i+)fscanf(rf,“%d%d“,void readwriteDat()int m,n,
3、=1000,i;FILE*rf, *wf:rf=fopen(“in.dat“,“r“):wf=fopen(“out.dat“,“w“); for(i=0;i10;i+)fscanf(rf,“%d%d“,&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-)/*该循环用了 2 个循环变量,n 用来跟踪 m 之前的数
4、,所以每趟减 1,i 用来计算找到素数的个数,所以该循环结束的条件为 i 等于 k*/for(j=2;j=n/2;j+)/*该循环用于判断 n 是否是素数*/if(n%j=0)break;if(jn/2)xxi+=n;/*找到一个素数,先存入 xxi然后 i 增 1*/)解析:解析 本题主要考查的是素数及其计算问题。用 for 循环来跟踪 m 之前的 k 个素数,对于某个 m之后的数 n 判断其是否为素数,若是则将其赋值给 xxi同时变量 i 增 1,变量 i 从 0 到 k-1 用来控制 k个素数被存入 xx。判断 n 是否为素数只要内嵌一个 for 循环使循环变量 j 从 2 到 n 得一半,判断 n 是否能整除 j,如果有一个能整除则跳出内层 for 循环时 j=n/2,表示 n 不是素数,否则内层 for 循环结束的条件为 jn/2,表示 n 为素数。