【计算机类职业资格】全国计算机等级考试三级网络技术机试真题2011年3月及答案解析.doc

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

1、全国计算机等级考试三级网络技术机试真题 2011 年 3 月及答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.已知在文件 IN.DAT 中存有若干个(200)四位正整数,函数 ReadDat()读取若干个正整数并将其存入数组 xx 中。请编制函数 CalValue(),其功能要求:(1)求出这个文件中共有多少个正整数 totNum。(2)求这些正整数中各位数字之和是奇数的正整数的个数 totCnt,以及满足此条件的正整数的算术平均值totPjz,最后调用函数 writeDat()把结果输出到文件 OUT.DAT 中。注意:部分源程序已经给出。

2、请勿改动主函数 main()、读函数 ReadDat()和写函数、writeDAT()的内容。试题源程序#inoludestdio.h#iFIcludeconio.h#define MAXNUM 200int xxNAXNUN;int totNum=0;int totCnt=0;double totPjz=0.0;int ReadDat(void);void writeDat(void);void CalValue(void)void main()int i;system(“cls“);for(i=0;iNAXNUN;i+)xxi=0;if(ReadDat()printf(“数据文件 IN.D

3、AT 不能打开!/007/n“);return;CalValue();printf(“文件 IN.DAT 中共有正整数=%d 个/n“,totNum);printf(“符合条件的正整数的个数=%d 个/n“,totCnt);printf(“平均值=%.2f/n“,totPjz);writeDat();int ReadDat(VOid)FILE *fp;int i=0;if(fp=fopen(“IN.DAT“,“r“)=NULL) return 1;while(!feof(fp)fscanf(fp,“%d,“,fclose(fp);return 0;void writeDat(void)FILE

4、 *fp;fp=fopen(“OUT.DAT“,“w“);fprintf(fp,“%d/n%d/n%6.2f/n“,totNum,totCnt,totPjz);fclose(fp);(分数:100.00)_全国计算机等级考试三级网络技术机试真题 2011 年 3 月答案解析(总分:100.00,做题时间:90 分钟)一、上机题(总题数:1,分数:100.00)1.已知在文件 IN.DAT 中存有若干个(200)四位正整数,函数 ReadDat()读取若干个正整数并将其存入数组 xx 中。请编制函数 CalValue(),其功能要求:(1)求出这个文件中共有多少个正整数 totNum。(2)求这

5、些正整数中各位数字之和是奇数的正整数的个数 totCnt,以及满足此条件的正整数的算术平均值totPjz,最后调用函数 writeDat()把结果输出到文件 OUT.DAT 中。注意:部分源程序已经给出。请勿改动主函数 main()、读函数 ReadDat()和写函数、writeDAT()的内容。试题源程序#inoludestdio.h#iFIcludeconio.h#define MAXNUM 200int xxNAXNUN;int totNum=0;int totCnt=0;double totPjz=0.0;int ReadDat(void);void writeDat(void);vo

6、id CalValue(void)void main()int i;system(“cls“);for(i=0;iNAXNUN;i+)xxi=0;if(ReadDat()printf(“数据文件 IN.DAT 不能打开!/007/n“);return;CalValue();printf(“文件 IN.DAT 中共有正整数=%d 个/n“,totNum);printf(“符合条件的正整数的个数=%d 个/n“,totCnt);printf(“平均值=%.2f/n“,totPjz);writeDat();int ReadDat(VOid)FILE *fp;int i=0;if(fp=fopen(“

7、IN.DAT“,“r“)=NULL) return 1;while(!feof(fp)fscanf(fp,“%d,“,fclose(fp);return 0;void writeDat(void)FILE *fp;fp=fopen(“OUT.DAT“,“w“);fprintf(fp,“%d/n%d/n%6.2f/n“,totNum,totCnt,totPjz);fclose(fp);(分数:100.00)_正确答案:(void CaiValue(void)int i,data;int a1,a2,a3,a4;for(i=0;iMAXNUM;i+)if(!xxi) break; /*若 xxi为

8、 0,则跳出循环*/if(xxi0) totNum+; /*若 xxi大于 0,计数值增加 1*/a1=xxi/1000; /*分离出元素 xxi的千位*/a2=xxi%1000/100; /*分离出元素 xxi的百位*/a3=xxi%100/10; /*分离出元素 xxi的十位*/a4=xxi%10; /*分离出元素 xxi的个位*/if(a1+a2+a3+a4)%2) /*若元素 XXi的各位数字之和是奇数*/totCnt+; /*奇数计数值增加 1*/totPjz+=xxi; /*将满足条件的 xxi累加进 totPjz*/totPjz/=totCnt; /*筛选完毕后,用满足条件的正整数的累加和除以这些正整数的个数,得到平均值*/)解析:解析本题主要考查的是奇偶数问题,同时考查数位分解。首先,用 for 循环遍历数组 xx。对于元素 xxi来说,如果为 0 则跳出循环,如果大于。则计数值 totNum 增加 1。使用“%”和“/”分离出元素 xxi的各个位数(a1、a2、a3、a4),然后,判断各个位数之和是不是奇数。如果是,那么个数 totCnt 自动增加 1,并且将该正整数累加到 totPjz 中用于求出平均值。当所有元素遍历完后,只要用 totPjz 除以个数totCnt,就能得到满足条件的正整数的平均值。

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

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

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