版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国家三级(网络技术)机试模拟试卷27(共9套)(共9题)国家三级(网络技术)机试模拟试卷第1套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。国家三级(网络技术)机试模拟试卷第2套一、程序设计题(本题共1题,每题1.0分,共1分。)1、下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT(),读取in36.dat中的字符串,并把结果输出到文件out36.dat中。例如:s字符串中原有的内容为Mn123Zxy,则调用该函数后,结果为No123Ayz。注意:部分源程序已给出。请勿改动主函数main()和输入输出函数readwriteDAT()的内容。试题程序:#include<stdio.h>#include<string.h>#include<conio,h>#include<ctype,h>#defineN81voidreadwriteDAT();voidchg(charas){}main(){chara[N];clrscr();printf("Enterastring:");gets(a);printf("Theoriginalstringis:");puts(a);chg(a);printf("Thestringaftermodified:");puts(a);readwriteDAT();}voidreadwriteDAT(){inti;chara[N];FILE*rf,*wf;rf=fopen("in36.dat","r");wf=fopen("out36.dat","w");for(i=0;i<10;i++){fgets(a,81,rf);chg(a);fprintf(wf,"%s",a);}fclose(rf);fclose(wf);}标准答案:voidchg(char*s){while(*s)if(*s==’z’||*s==’z’)/*字母z改成字母a,字母z改成字母A*/{*s-=25;s++;/*取下一个字母*/}elseif(*s>=’a’&&*s<=’y’)/*把小写字母改成该字母的下一个字母*/{*s+=l;s++;/*取下一个字母*/}elseif(*s>=’A’&&*s<=’Y’)/*把大写字母改成该字母的下一个字母*/{*s+=l;s++;/*取下一个字母*/}elses++;/*取下一个字母*/}知识点解析:本题考查的知识点如下:(1)英文字母对应的ASCII码的排列规律。(2)指针的操作。(3)选择结构中多个条件的布尔运算。在ASCII码中,大、小写字母的ASCII码是连贯的,a~z对应97~122,A~Z对应65~90。z的ASCII码减去25即得到a的ASCII码,对Z同样适合。所以我们要对字符串中的字符依次进行判断,若是大(小)写字母,则按照ASCII码的规律和题意要求对字符进行转换。在这里,使用指针完成对字符的依次访问,每次将指针的地址加1直至指针为空即可。在选择结构的多个条件中,若需同时满足,则用“与”运算,否则,用“或”运算。国家三级(网络技术)机试模拟试卷第3套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:①定义整型循环变量i、j和表示字符串长度的整型变量strl,以及字符局部变量ch。②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,在循环体中,利用库函数strlen()求得字符串suing[i]的长度,把此值赋给变量strl。把字符串string[i]的最后一个字符string[i][strl-1]赋给字符变量ch,暂时保存起来。在第二层for循环中,循环变量j从str1-1开始,依次递减直到其值小于或等于0,在循环体中,字符string[i][j]的ASCII码值右移4位,然后再与字符string[i][j-1]的ASCII码值相加的和保存到字符string[i][j]中。当退出第二层for循环后,把第i行的第一个字符string[i][0]与最后一个字符ch的值相加,保存在string[i][0]中。国家三级(网络技术)机试模拟试卷第4套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:①首先定义两个循环变量i、j;一个用来保存结构体变量长度的计算结果的变量len;一个用于中间转换数据的结构体变量tmp。②计算结构体变量长度,并按结构体变量tmp分配len大小的内存空间。③建立两个for循环,指定第一个for循环的循环变量i从0开始,到100时结束,每循环一次,变量i的值加1;第2个for循环的循环变量j从i+1开始,即从当前行的下一行开始,到100时结束,每循环一次,变量j的值加1。④在循环体中指定排序的条件,分两个步骤指定,第一步通过strcmp()函数判断第i行的产品代码与其后面各行中产品代码的大小关系;第二步,如果比较的两行中产品代码相同的话,则再比较金额的大小。当第i行的产品代码小于后面比较行的产品代码,又或者产品代码相同时,第i行的金额小于后面比较行的金额时,将执行if条件语句后面花括号中的命令,花括号中3条命令的功能就是根据题目要求实现将记录从大到小的排序。国家三级(网络技术)机试模拟试卷第5套一、程序设计题(本题共1题,每题1.0分,共1分。)1、文件IN.DAT中存有200个四位整型数,函数ReadData()负责将IN.DAT中的数读到数组inBuf[]中。请编制一函数findData(),其功能是;依次从数组inBuf中取出一个四位数,如果该四位数连续小于该四位数以后的5个数且该数是偶数(该四位数以后不满5个数,则不统计),则按照从小到大的顺序存人数组outBuf[]中,并用count记录下符合条件的数的个数。函数WriteData()负责将outBuf[]中的数输出到文件OUT.DAT中并且在屏幕上显示出来。注意;部分源程序已给出。程序中已定义数组;inBuf[200],outBuf[200],已定义变量;count。请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。试题程序;#include#defineMAX200intinBuf[MAX],outBuf[MAX],count=0;voidfindData(){}voidReadData(){inti;FILE*fp;fp=fopen("IN.DAT","r");for(i=0;i标准答案:voidfindData(){inti,j,temp,flag;//选出偶数的项并且该数连续小于该数以后的5个数count=0;for(i=0;iinBuf[i+j])flag=1;if(flag==0){outBuf[count]=inBuf[i];//将满足要求的数据存人outBuf中count++;//将计数器加1}}for(i=0;ioutBuf[j])/*如果第i位比它后面的数大,则将两者进行交换,也即将更小的值放到第i位*/{temp=outBuf[i];outBuf[i]=outBuf[j];outBuf[j]=temp;}}知识点解析:本题主要考查数据的奇偶判断、数组中数据的比较及排序程序步骤;1.查找符合要求的项;利用条件inBuf[i]%2==0找出数值是偶数的项。用该项与其后面的连续5项相比较,如果有一项不符全要求(大于或小于后面的项),则可将该项排除,程序中的flag变量即是为此目的而设的。这样一来便可找出所有符合要求的项。2.排序的思想是(以从小到大为例);将当前数据与其后的各个数据相比较,如果当前的数据比其后的数据大,则将两数据进行交换,从而使得前面的数据小于后面的数据,达到从小到大排序的目的。国家三级(网络技术)机试模拟试卷第6套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。另外,在源程序中已经定义了一个无符号变量vaI,因此,在编写答案程序时,不需要再重新定义。国家三级(网络技术)机试模拟试卷第7套一、程序设计题(本题共1题,每题1.0分,共1分。)1、标准答案:知识点解析:通过审题可以发现仅有一个不同点,即本题是计算数组下标为奇数的元素的平均值,参考答案的第6条语句。国家三级(网络技术)机试模拟试卷第8套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知数据文件IN45.DAT中存有200个4位数,并已调用读函数IeadDat()把这些数存入数组a中,请编制一函数isVa1(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数和百位数组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位数字),如果新组成的两个十位数ab-ed≥10且ab-cd≤20且两个数均为偶数,同时两个新十位数字均不为零,则将满足此条件的4位数按从大到小的顺序存入数组b中,并要计算满足上述条件的4位数的个数ent,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到OUT45.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("IN45.DAT","r");for(i=0;i<MAX;i++)fscanf(fp,"%d",&aIii);fclose(fp);}main(){inti;readDat();jsVal();printf("满足条件的数=%d\n",cnt);for(i=0;i<cnt;i++)printf("%d\n",b[i]);printf("\n");writeDat();}writeDat(){FILE*fp;inti;fp=fopen("OUT45.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;intab,cd;for(i=O;i<200;i++){thou=a[i]/1000;/*求四位数的千位数字*/hun=a[i]%1000/100;/*求四位数的百位数字*/ten=a[i]%100/10;/*求四位数的十位数字*/data=a[i]%10;/*求四位数的个位数字*/ab=thou*lO+ten;/*ab的十位数字是原4位数的千位数字,个位数字是原4位数的十位数字*/cd=data*lO+hun;/*cd的十位数字是原4位数的个位数字,个位数字是原4位数的百位数字*/if((ab-cd>=lO)&&(ab-cd<=20)&&(ab%2==O)&&(cd%2==O)&&ab!=O&&cd!=0){/*如果-ab-cd≥10且ab-od≤20且两个数均为偶数,且均不为零*/b[cnt]=a[i];/*将满足条件的数存入数组b中*/cnt++;/*统计满足条件的数的个数*/}}for(i=O;i<cnt-1;i++)/*将数组b中的4位数按从大到小的顺序*/for(j=i+l;j<cnt;j++)if(b[i]<b[j]){data=b[i];b[i]=b[j];b[j]=data;}}知识点解析:本题考查的知识点如下:(1)将一个4位整数各位上的数转变成单独的个位数。(2)判断结构中多个条件的布尔运算。(3)循环的使用。(4)数据的排序。在本题中,首先要将一个4位数的千位、百位、十位、个位拆成独立的数字。这里借助特殊运算符号“%”(取余)和“/”(整除)。将一个4位数整除1000则可得到其干位上的数字,除以1000取余再整除100则可得百位上的数字,除以100取余再整除10则可得十位上的数字,除以10取余则得个位上的数字。若一个数除以2取余为0,则这个数是偶数。题目中所给的条件必须同时满足,所以各条件之间用“与”运算。最后的排序采用“选择排序法”。国家三级(网络技术)机试模拟试卷第9套一、程序设计题(本题共1题,每题1.0分,共1分。)1、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中;金额一单价*数量计算得ttl。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求;按产品代码从大到小进行排列,若产品代码相同,则按金额从大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 饮品采购合同样本
- 合作共成长协议
- 企业礼品定制协议
- 自密实水泥购销合同
- 农业机械销售合同范例
- 工程模板安装劳务分包合同
- 经营周转贷款协议
- 百货商品购销合同格式
- 劳动合同保密协议的内涵
- 设备及货物采购合同
- 毛概讨论全面建设小康社会
- 煤矿职工安全生产的权利和义务
- 银行客户经理竞聘演讲课件
- EMS中国邮政速递物流
- 初中九年级音乐课件外婆的澎湖湾
- 道口开设施工方案
- 医疗器械经营客户投诉处理培训
- 备战2024年中考语文复习考点帮(全国通用)考点十三 小说阅读(好题冲关·真题演练)(原卷版)
- 《软件测试黑盒测试》课件
- 招投标过程中的信息安全与保密措施建议
- DB5120-T 19.3-2023 数据资源体系技术指南 第3部分:数据清洗加工规范
评论
0/150
提交评论