




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国家三级(网络技术)机试模拟试卷18(共9套)(共9题)国家三级(网络技术)机试模拟试卷第1套一、程序设计题(本题共1题,每题1.0分,共1分。)1、文件IN.DAT中存在有一篇英文文章,函数ReadData()负责将IN.DAT中的数据读到数组inBuf[][]中。请编制函数replaceChar(),该函数的功能是;以行为单位把字符串中的所有小写字母改成该字母的上一个字母,如果是字母a,则改成字母z。大写字母仍是大写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组inBuf[][]中,函数WriteData()负责将inBuf[][]中的数据输出到文件OUT.DAT中,并且在屏幕上输出。例如;原文;my.name.is.Lin.TaoNice.to.meet.you结果;Ix.mzld.hr.Lhm.TznNhbd.sn.1dds.xnt原始数据文件存放的格式是;每行的宽度均小于80个字符,含标点符号和空格。注意;部分程序已给出。请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。试题程序;#include#include#include#include#defineLINE70#defineCOL80charinBuf[LINE][COL+1];inttotleLine=0;//文章的总行数intReadData(void);voidWriteData(void);voidreplaceChar(){}voidmain(){system("CLS");if(ReadData()){printf("IN.DATcan’tbeopen!\n\007");return;}replaceChar();WriteData();}intReadData(void){FILE*fp;inti=0;char*P;if((fp=fopen("IN.DAT","r"))==NULL)return1;while(fgets(inBuf[i],COL+1,fp)!=NULL){P=strchr(inBuf[i],’\n’);if(p)*p=’\0’;i++;}totleLine=i;fclose(fp);return0;}voidWriteData(void){FILE*fp;inti;fp=fopen("OUT.DAT","w");for(i=0;i标准答案:voidreplaceChar(){inti,j,str;for(i=0;i=’a’&&inBuf[i][j]<=’z’)//如果字符在’a’~’z’之间{if(inBufEi][j]==’a’)inBuf[i][j]=’Z’;//如果是字符’a’则用’z’来代替elseinBuf[i][j]=(char)((int)inBuf[i][j]-1);//其他情况则用其前面的字符代替}}}知识点解析:本题考查的主要是字符与其对应的ASCII码之间的转换及对ASCII码进行操作。基本思路是;1.根据条件选择inBuf[i][j],对其进行类型强制转换,转换成整型(也即所对应的ASCII码值)。2.将ASCII码值减1,将该字符的ASCII码值换成其上一个字符的ASCII码值。3.最后将计算所得结果再转换成字符型存储到inBuf[i][j]中。国家三级(网络技术)机试模拟试卷第2套一、程序设计题(本题共1题,每题1.0分,共1分。)1、文件IN.DAT中存有一篇英文文章,函数ReadData()负责将IN.DAT中的数据读到数组inBuf[][]中。请编制函数replaceChar(),该函数的功能是按照指定规则对字符进行替换。变换后的值仍存人inBuf[][]中。函数WriteData()负责将inBuf[][]中的数据输出到文件OUT.DAT中并且在屏幕上打出。替换规则为;先对字符的ASCII码按公式y=(a*11)mod256进行运算(a为某一字符的ASCII码值,y为变换后的ASCII码值),如果原字符是大写字母或计算后Y的值小于等于32,则字符保持不变,否则用y代替a。注意;部分源程序已给出。原始数据文件存放的格式是;每行的宽度均小于80个字符。请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。试题程序;#include#include#include#include#defineLINE50#defineCOL80charinBuf[LINE][COL+1];inttotleLine=0;//文章的总行数intReadData(void);voidWriteData(void);voidreplaceChar(){}voidmain(){system("CLS");if(ReadData()){printf("IN.DATcan’tbeopen!\n\007");return;}replaceChar();WriteData();}intReadData(void){FILE*fp;inti=0;char*p;if((fp=fopen("IN.DAT","r"))==NULL)return1;while(fgets(inBuf[i]COL+1,fp)!=NULL){p=strchr(inBuf[i],’\n’);if(p)*p=’\0’;i++;}totleLine=i;fclose(fp);return0;}voidWriteData(void){FILE*fp;inti;fp=fopen("OUT.DAT","w");for(i=0;i标准答案:voidreplaceChar(){inti,j,str;chary;for(i=0;i=’A’&&inBuf[i][j]<=’Z’))continue;//在指定的条件下,不进行转换elseinBuf[i][j]=y;//在其他情况下进行转换}}}知识点解析:本题主要考查字符与其对应的ASCII码之间的转换及对ASCII码进行操作。先计算出每行字符串的长度,再根据替换规则进行相应的替换。国家三级(网络技术)机试模拟试卷第3套一、程序设计题(本题共1题,每题1.0分,共1分。)1、请编写函数voidcountValue(int*a,int*n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数并存放在数组a中,并通过n返回这些数的个数。注意:部分源程序已给出。请勿改动主函数main()和写函数writeDAT()的内容。试题程序;#include<conio.h>#include<stdio.h>voidcountValue(int*a,int*n){}main(){intaa[1000],n,k;clrscr();countValue(aa,&n);for(k=0;k<n;k++)if((k+l)%10==0){printf("%5d",aa[k]);printf("\n");}elseprintf("%5d",aa[k]);writeDAT();}writeDAT(){intaa[1000],n,k;FILE*fp;fp=fopen("out79.dat","w");countValue(aa,&n);for(k=0;k<n;k++)if((k+l)%10==0){fprintf(fp,"%5d",aa[k]);fprintf(fp,"\n");}elsefprintf(fp,"%5d",aa[k]);fclose(fp);}标准答案:voidcountValue(int*a,int*n){inti;*n=0;for(i=1l;i<=1000;i++)if(i%7==0&&i%11)/*将能被7整除但不能被11整除的数存入数组a中*/{*a=i;*n=*n+l;/*统计个数*/a++;}elseif(i%7&&i%11==0)/*将能被11整除但不能被7整除的数存入数组a中*/{*a=i;*n=*n+1;/*统计个数*/a++;}}知识点解析:本题考查的知识点如下:(1)指针的使用。(2)“%”运算符。(3)判断结构中多个条件的布尔运算。本题中,函数countValue()以指针为参数,这里就要涉及到指针的使用。a是指向数组的指针,初始时,指向数组的第一个元素。地址每加1时,依次指向后面的元素。一个数a若能被b整除,则a除以b取余得数为0。能被7或11整除,但不能被7和11同时整除,则有两种情况,能被7整除但不能被11整除,能被11整除但不能被7整除。这里就要用到多个条件的布尔运算。国家三级(网络技术)机试模拟试卷第4套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:通过审题可以发现仅有一个不同点,即要求统计的四位数的条件是“个位-千位-百位-十位>=0”,参考答案的第8条语句,修改if条件语句的判断条件即可。国家三级(网络技术)机试模拟试卷第5套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:通过审题可以发现仅有一个不同点,即四位数的各位数之和为奇数,参考答案的第13条语句,将该该语句为判断各位数字之和是奇数的表达式即可。国家三级(网络技术)机试模拟试卷第6套一、程序设计题(本题共1题,每题1.0分,共1分。)1、文件IN.DAT中存有300个四位整型数,函数ReadData()负责将IN.DAT中的数读到数组inBuf[]中。请编写函数findvalue(),其功能是;求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数count,再求出所有满足此条件的四位数平均值average1,以及所有不满足此条件的四位数平均值average2,最后调用函数WriteData()把结果count、aVeragel、aVeragez2输出到OUT.DAT文件中。程序中已定义数组;inBuf[300],已定义变量;count,averagel,average2。请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。#include#defineNUM300intinBuf[NUM],count=0;doubleaveragel=0,average2=0;voidReadData();voidWriteData();voidfindValue(){}voidmain(){ReadData();findValue();WriteData();printf("count=%d\naveragl=%7.21f\naverag2=%7.21f\n",count,averagel,average2);}voidReadData(){FILE*fp;inti;fp=fopen("IN.DAT","r");for(i=0;i标准答案:voidfindValue(){inti,j,k,d[4],temp,count_no=0;for(i=0;i知识点解析:本题主要考查数位分解及数据平均值的求法。程序步骤;1.将数值送入temp中。2.数位分解;由temp%10得到个位数;(temp/10)%10得到十位数……如此可得到各数位上的数值。3.按照题目所给的条件选出数据。4.对选出的数据求平均值;由于本题中的数据量比较大,若采用先将各个值加起来再除以总个数来取平均的话,变量不能存储那么大的数据而导致溢出。本题的程序采用的方法是;N个数的平均值=[前(N-1)个数的平均值*(N-1)+第N个数]/N,采用这种递推的方法就避免了将大的数据存入变量中而产生溢出。国家三级(网络技术)机试模拟试卷第7套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知在文件IN20.DAT中存有若干个(个数〈200)4位数字的正整数,函数ReadDat()的功能是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(1)求出这文件中共有多少个正整数totNum:(2)求㈩这些数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数WriteDat()把所求的结果输出到文件OUT20.DAT中。注意:部分源程序已给出。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。试题程序:#include〈stdio.h>#inciude〈conio.h>#defineMAXNUM200intxx[MAXNUM];inttotNum=O;/*文件IN20.DAT中共有多少个正整数*/inttotCnt=0;/*符合条件的正整数的个数*/doubletotPjz=0.0;/*平均值*/intReadDat(void);voidWritedat(void);voidCalValue(){}main(){inti;clrscr();for(i=0;i〈MAXNUM;i++)xx[i]=0;if(Readdat()){printf("数据文件IN20.DAT不能打开!\007\n");return;}CalValue();printf("文件IN20.DAT中共有正整数=%d个\n",totNum);printf("符合条件的正整数的个数=%d个\n",totCnt);printf("平均值=%.21f\n",totPjz);Writedat();}intReaddat(void){FILE*fp;inti=0;if((fp=fopen("IN20.DAT","r"))==NULL)return1;while(!feof(fp)){fscanf(fp,"%d,",&xx[i++]);}fclose(fp);return0;}voidWritedat(void){FILE*fp;fp=fopen("OUT20.DAT","w");fprintf(fp,"%d\n%d\n%.21f\n",totNum,totCnt,totPjz);fclose(fp);}标准答案:voidCalValue(){inti,thou,hun,ten,data;intab;longsum=0;for(i=0;i〈MAXNUM;i++){if(XX[i]>0){totNum++;/*统计正整数的个数*/thou=xx[i]/1000;/*求正整数的千位数*/hun=xx[i]%1000/100;/*求正整数的百位数*/ten=xx[i]%100/10;/*求正整数的十位数*/data=xx[i]%10;/*求正整数的个位数*/ab=thou+hun+ten+data;if(ab%2==0)/*如果各位数字之和是偶数*/{totCnt++;sum=sum+xx[i];}/*计算满足条件的数的个数totCnt和这些数的总和sum*/}}totPjz=sum/totCnt;/*求这些数的算术平均值totPjz*/}知识点解析:本题的解题思路是首先利用一个for循环来依次从数组中取得的数,由于题目要求求数组中正整数的个数,因此,对于为零的整数,不做任何处理,接着去取下一个数。只要某个数大于零,则该数一定是正整数,这时就给变量totNum(正整数的个数)累加1,用语句“thou=xx[i]/1000;hun=xx[i]%1000/100;ten=xx[i]%100/10;data=xx[i]%10;”可以实现取得当前被处理数的千位、百位、十位,以及个位上的数字值,之后判断求得的各个位上的数字值之和是否是偶数。若上述条件成立,则给变量totCnt的值加1,同时把当前符合条件的数累加到变量sam中去,最终利用totPjz来求得满足所给条件的所有数的平均值。国家三级(网络技术)机试模拟试卷第8套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知数据文件in55.dat中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的4位数平均值pjz1,以及所有不满足此条件的4位数平均值pjz2,最后调用函数wfiteDat()把结果cnt,pjz1,pjz2输出到out55.dat文件中。例如:9123,9-1-2-3>0,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。9812,9-8-l-2<0,则该数不满足条件,计算平均值pjz2。程序中已定义数组:a[300],已定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。试题程序:#include<stdio.h>inta[300],cnt=0;doublepjzl=0.0,pjz2=0.0;jsValue(){}main(){int;readDat();jsValue();writeDat();printf("cnt=%d\n满足条件的平均值pjz1=%7.21f\n不满足条伯的平均值pjz2=%7.21f\n",cnt,pjzl,pjz2);}readDat(){FILE*fp;inti;fp=fopen("in55.dat","r");for(i=0;i<300;i++)fscanf(fp,"%d,",&aIii);fclose(fp);}writeDat(){FILE*fp;inti;fp=fopen("out55.dat","w");fprintf(fp,"%d\n%7.21f\n%7-21f\n",cnt,pjzl,pjz2);fclose(fp);}标准答案:jsVa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二手房租赁合同修改协议
- 项目管理专业人士复习的高效阶段试题及答案
- 项目管理变革实施中的难点试题及答案
- 项目管理考试知识结构分析试题及答案
- 如何做好财务预算的修订计划
- 前台文员心理素质的培养计划
- 项目管理职场技能问题及答案
- 轨道工程钢轨扣件(钢轨扣件中的聚酯垫板及尼龙件)材料采购项目招标文件
- 建立知识框架的证券从业资格证考试试题及答案
- 微生物检验的流行病学分析及试题及答案
- 文职考试题库试卷及答案
- 2025年临床执业医师考试的医学影像试题及答案
- 锅炉施工安全文明方案
- 2024福建福州闽投海上风电汇流站有限公司招聘8人笔试参考题库附带答案详解
- 中国输电线路在线监测系统行业发展状况及前景规模调查报告2025-2030年
- 第18课《井冈翠竹》课件-2024-2025学年统编版语文七年级下册
- 公立医院成本核算指导手册
- 第16课《有为有不为》公开课一等奖创新教学设计
- 2025年河南林业职业学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 小米创业思考(商业思考)
- 国开(甘肃)2024年春《地域文化(专)》形考任务1-4终考答案
评论
0/150
提交评论