![国家三级(网络技术)机试模拟试卷13(共9题)_第1页](http://file4.renrendoc.com/view14/M00/2E/1B/wKhkGWbljNeAfcn6AAM5pF6eD0o098.jpg)
![国家三级(网络技术)机试模拟试卷13(共9题)_第2页](http://file4.renrendoc.com/view14/M00/2E/1B/wKhkGWbljNeAfcn6AAM5pF6eD0o0982.jpg)
![国家三级(网络技术)机试模拟试卷13(共9题)_第3页](http://file4.renrendoc.com/view14/M00/2E/1B/wKhkGWbljNeAfcn6AAM5pF6eD0o0983.jpg)
![国家三级(网络技术)机试模拟试卷13(共9题)_第4页](http://file4.renrendoc.com/view14/M00/2E/1B/wKhkGWbljNeAfcn6AAM5pF6eD0o0984.jpg)
![国家三级(网络技术)机试模拟试卷13(共9题)_第5页](http://file4.renrendoc.com/view14/M00/2E/1B/wKhkGWbljNeAfcn6AAM5pF6eD0o0985.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国家三级(网络技术)机试模拟试卷13(共9套)(共9题)国家三级(网络技术)机试模拟试卷第1套一、程序设计题(本题共1题,每题1.0分,共1分。)1、文件IN.DAT中存有200个四位整型数,函数readData()负责将IN.DAT中的数读到数组inBuf[]中。请编写函数findValue(),其功能是;把个位数字和千位数字重新组合成一个新的两位数ab(新两位数的十位数字是原四位数的个位数字,新两位数的个位数字是原四位数的千位数字),以及把百位数和十位数组成另一个新的两位数cd(新两位数的十位数字是原四位数的百位数字,新两位数的个位数字是原四位数的十位数字),新组成的两个两位数必须有一个是奇数,另一个为偶数且两个两位数中至少有一个数能被17整除,同时两个新数的十位数字均不为0。求出满足条件的数,用count记录下符合条件的数的个数,并按照从大到小的顺序存人数组outBuf[]中。函数writeData()负责将outBuf[]中的数输出到文件OUT.DAT中,并且在屏幕上显示出来。程序中已定义数组;inBuf[200],outBuf[200],已定义变量;count。请勿改动主函数main()、读函数readData()和写函数writeData()的内容。试题程序;#include#defineNUM200intinBuf[NUM],outBuf[NUM],count=0;voidreadData();voidwriteData();voidfindValue(){}voidmain(){inti;readData();findValue();writeData();print{("count=%d\n",count);for(i=0;i标准答案:voidfindValue(){inti,j,k,d[4],temp,ab,cd;for(i=0;i知识点解析:本题考查的主要是数位分解及排序。数位分解就是将n位数各个位上的数值单独分离出来,将此n位数对10求余可以将个位上的数值分离出来;将此n位数除以10以后得到一个n-1位数,则此时n位数原来的十位就变成了n-1位数的个位,再将此n-1位数对10求余便可得到原n位数的十位。依此类推,便可将n位数各个位上的数值分离出来。程序基本步骤是;1.将数值送入temp中。2.由temp%10得到个位数;(temp/10)%10得到十位数,依此类推,可得到各位上的数值。3.按照题目所给的条件筛选出数据。4.对选出的数据进行排序。国家三级(网络技术)机试模拟试卷第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码值),如果原字符是数字字符0~9或计算后Y的值小于等于32,则字符保持不变,否则用y代替a。注意;部分源程序已给出。原始数据文件存放的格式是;每行的宽度均小于80个字符。请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。试题程序;#include#inelude#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();}intRcadData(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=’0’&&inBuf[i][j]<=’9’))continue;//在指定的条件下,不进行转换elseinBuf[i][j]=y;//在其他情况下进行转换}}}知识点解析:本题主要考查字符与其对应的ASCII码之间的转换及对ASCII码进行操作。先计算出每行字符串的长度,再根据替换规则进行相应的替换。国家三级(网络技术)机试模拟试卷第3套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第8行进行修改即可。国家三级(网络技术)机试模拟试卷第4套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:根据题意,本程序中要统计每条记录中的有效票数,因此需要先判断该记录是否有效,然后再对有效的记录做进一步处理,即统计每个人的得票情况。①首先定义两个循环变量i、j和一个计数变量cnt。②指定第一个for循环的循环条件,循环变量i从0开始,等于100时结束,每循环一次,变量i的值加1。③在for循环中,从第一条记录开始,每执行一次循环则处理一条记录是否满足要求。for循环语句执行流程大致如下:先将计数变量cnt赋值0(每执行一次循环时,都将重新赋初值0);然后通过一个for循环判断当前记录的10个数字是否为1,每次判断1个数字,如果数字等于1,则计数变量cnt的值加1,当第二个for循环执行完毕后,如果计数变量cm的值小于等于5,则再通过一个for循环重新判断哪些位置上的数等于1,并将相应位置上的数值累加1。国家三级(网络技术)机试模拟试卷第5套一、程序设计题(本题共1题,每题1.0分,共1分。)1、下列程序的功能是:选出100~1000间的所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt,以及这些素数值的和sum。请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT17.DAT中。注意:部分源程序已给出。请勿改动主函数main()和写函数writeDAT()的内容。试题程序:#include〈stdio.h>intcnt,sum;voidcountValue(){}main(){cnt=sum=0;countValue();printf("素数的个数=%d\n",cnt);printf("满足条件素数值的和=%d",sum);writeDAT();}writeDAT(){FILE*fp;fp=fopen("OUT17.DAT","w");fprintf(fp,"%d\n%d\n",cnt,sum);fclose(fp);}标准答案:voidcountValue()。{inti,j,half,hun,ten,data;for(i=101;i〈1000;i++){hun=i/100;/*求百位数字*/ten=i%100/10;/*求十位数字*/data=i%10;/*求各位数字*/if(hun==(ten+data)%10)/*如果个位数字与十位数字之和被10除所得余数恰是百位数字,则进一步判断该数是否为素数*/{half=i/2;for(j=2;j〈=half;j++)if(i%j==0)break;if(j>half){cnt++;sum+=i;}/*计算这些素数的个数cnt,以及这些素数值的和sum*/}}}知识点解析:本题的解题思路是利用一个for循环依次取得100到1000之间的数,接着求得当前所取得的数的各个位上的数字值,语句“hun=i/100;ten=i%100/10:data=i%10:”可以分别取得某数的百位、十位及个位上的数字值,然后判断该数个位数字与十位数字之和被10除所得的余数是否恰好等于百位上的数字。如果这个条件成立,接着去判断原数是否是素数,这里,考虑到效率问题,可以依次用从2到该原数本身一半的数去除原数,如果原数能被除尽,则证明该数肯定不是素数,不需要做下面的工作,接着去取下一个数,继续判断。只有同时满足上述两个条件的数才是本题所需的数,这时把该数累加到变量sum(满足条件素数值的和)中,同时也给计数器变量cnt(素数的个数)加1。国家三级(网络技术)机试模拟试卷第6套一、程序设计题(本题共1题,每题1.0分,共1分。)1、文件IN.DAT中存有一篇英文文章,函数ReadData()负责将IN.DAT中的数据读到数组inBuf[][]中。请编制函数replaceChar(),该函数的功能是;以行为单位把字符串中的所有字符的ASCII值左移4位,如果左移后,其字符的ASCII值小于等于32或大于100,则原字符保持不变,否则就把左移后的字符ASCII值再加上原字符的ASCII值,得到的新字符仍存入到原字符串对应的位置。把已处理的字符串仍按行重新存人字符串数组inBuf[]中,函数WriteData()负责将inBuf[]中的数据输出到文件OUT.DAT中并且在屏幕上打出。原始数据文件存放的格式是;每行的宽度均小于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,len,y;for(i=0;i100)continue;//如果在指定的区间内,不进行转换else//否则按指定规则进行转换inBuf[i][j]+=(char)y;}}}知识点解析:本题主要考查字符与其对应的ASCII码之间的转换及对ASCII码进行操作。程序步骤;1.依据条件选择inBuf[i][j],将其进行类型强制转换成整型(也即所对应的ASCII码值)。2.将ASCII码值按要求进行计算,并将符合条件的结果再转换成字符型存储到inBuf[i][j]中。国家三级(网络技术)机试模拟试卷第7套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知数据文件IN78.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsVal(),其功能是:如果一个4位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值人于等于个位数字上的值,并且此4位数是奇数,则统计出满足此条件的数的个数cnt并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT78.DAT文件中。注意:部分源程序已给出。程序中已定义数组:a[200],b[200],己定义变量:cnt。请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。试题程序:#include<stdio.h>#defineMAX200inta[MAX],b[MAX],cnt=0;voidjsVal(){}voidreadDat(){inti;FILE*fp;fp=fopen("IN78.DAT","r");for(i=0;i<MAX;i++)fscanf(fp,"%d",&a[i]);fclose(fp);}main(){ihti;readDat();jsVal();printf("满足条件的数=%d\n",cnt);for(i=0;i<cnt;i++)printf("%d",b[i]);printf("\n");writeDat();}wrlteDat(){*fp;FILEinti;fp=fopen("OUT78.DAT","w");fprintf(fp,"%d\n",cnt);for(i=0;i<cnt;i++)fprintf(fp,"%d\n",b[i]);fclose(fp);}标准答案:voidjsVal(){inti,thou,hun,ten,data,j;for(i=0;i<MAX;i++){thou=a[i]/1000;/*求四位数的千位数字*/hun=a[i]%1000/100;/*求四位数的百位数字*/ten=a[i]%100/10;/*求四位数的十位数字*/data=a[i]%10;/*求四位数的个位数字*/if((thou>=hun)&&(hun>=ten)&&(ten>=data)&&a[i]0/2!=O){/*如果千位数大于等于百位数,百位数大于等于十位数,十位数大于等于个位数,并且此数是奇数*/b[ont]=a[i];/*则将满足条件的数存入数组b中*/cnt++;/*统计满足条件的数的个数*/}}for(j=i+l;j<cnt;j++)/*将数组b中的数按从小到大的顺序排列*/if(b[i]>b[j]){data=b[i];b[i]=b[j];b[j]=data;}}知识点解析:本题考查的知识点如下;(1)将一个4位整数各位上的数转变成单独的数。(2)判断结构中多个条件的布尔运算。(3)数据的排序。在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%”(取余)和“/”(整除)。将一个4位数整除1000则可得到其千位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。若.一个数除以2取余为1,则这个数是奇数。题目中的所有条件必须同时满足,所以各条件之间用“与”运算。先将满足条件的数存入数组b中;再对数组中的数据进行排序。最后的排序采用“选择排序法”。国家三级(网络技术)机试模拟试卷第8套一、程序设计题(本题共1题,每题1.0分,共1分。)1、请编写函数countValue(),其功能是;找出所有100以内(含100)满足I、I+4、I+10都是素数的整数(I+10也是在100以内)的个数count,以及这些I之和sum。函数WriteData()负责把结果输出到OUT.DAT文件中。注意;部分源程序已给出。请勿改动主函数main()函数WriteData()的内容。试题程序;#includeintcount,sum;voidWriteData();voidcountValue(){}voidmain(){count=sum=0;countValue();printf("count=%d\nsum=%d\n",count,sum);WriteData();}voidWriteData(){FILE*fp;fp=fopen("OUT.DAT","w");fprintf(fp,"%d\n%d\n",count,sum);fclose(fp);}标准答案:voidcountValue(){inti,j,k,d[3],flag;for(i=0;i<=100-10;i++){d[0]=i;d[l]=i+4;d[2]=i+10;//将三个数存人数组,以方便用循环flag=0;//将标志位清零for(k=0;k<3;k++){for(j=2;j知识点解析:本题主要考查素数的判断问题。1.判断是否为素数;素数的定义是;若一个数除了其自身和1再没有其他的除数,则该数就是素数。故用其定义可以很容易判断。在2到所判断数之间的数进行扫描,若有一个除数,则该数就不是素数。2.判断3个数是不是都是素数,若有一个不是,则不符合要求,即可进行下一轮判断。国家三级(网络技术)机试模拟试卷第9套一、程序设计题(本题共1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代科技助力白水泥行业财务风险管理
- 卫浴洁具国庆节活动方案
- 环境艺术设计与室内设计的审美互动
- 生产工艺流程中的质量控制与安全管理
- 现代服务业在商业地产中的价值挖掘
- 物流技术与管理教育的新模式
- Unit 4 Plants around us Lesson 6(说课稿)-2024-2025学年人教PEP版(2024)英语三年级上册
- 7《可爱的动物》(说课稿)2023-2024学年统编版道德与法治一年级下册
- Unit 2 Whats your name (Story time)(说课稿)-2024-2025学年译林版(三起)(2024)英语三年级上册001
- Unit 4 A glimpse of the future 说课稿-2023-2024学年高二下学期英语外研版(2019)选择性必修第三册001
- 腹腔引流管的护理常见并发症的预防与处理规范
- 工地试验室质量手册
- 信息资源管理(马费成-第三版)复习重点
- 邮轮外部市场营销类型
- GB/T 42460-2023信息安全技术个人信息去标识化效果评估指南
- 05G359-3 悬挂运输设备轨道(适用于一般混凝土梁)
- 工程与伦理课程
- CKDMBD慢性肾脏病矿物质及骨代谢异常
- 潮汕英歌舞课件
- 田字格模版内容
- 第一章 公共政策分析的基本理论与框架
评论
0/150
提交评论