2013年全国计算机等级考试上机考试冲刺试卷(4)-

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:年全国计算机等级考试上机考试冲刺试卷(4)总分:100分及格:60分考试时间:120分C语言程序设计题(1)函数ReadDat()实现从文件in.dat中读取一篇英文文章,存入到字符串数组XX中;请编制函数encryptChar(),按给定的替代关系对数组XX中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数WriteDat()把结果XX输出到文件out.dat中。替代关系:f(p)=p*[3mod256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或是偶数,则该字符不变,否则用f(p)替代所对应的字符。注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:(2)函数ReadDat()实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组XX中;请编制函数encryptChar(),按给定的替代关系对数组XX中的所有字符进行替代,其替代值仍存入数组XX的对应的位置上,最后调用函数WriteDat()把钴果XX输出到文件out.dat中。替代关系:f(p)=p*11mod256,mod为取余运算,P是数组XX中某一个字符的ASCII值,f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则用f(p)替代所对应的字符。注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。请勿改动主函数main()、读函数ReadDat0中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:()的内容。中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:(3)已知数据文件in.dat中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后main()i函数调用写函数writeDat()把数组b中的数输出到0ut.dat文件中。例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。9812是非素数,则该数不满足条件忽略。注意:部分源程序存在test.C文件中。程序中已定义数组:a[300],b[300],已定义变量:cnt中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:(4)已知在文件in.dat中存有200组数据,每组有3个数,每个数均是三位数。函数readDat()是读取这200组数据存放到结构数组aa中。请编制函数jsSort(),其函数的功能是:要求在200组数据中找出第二个数大于第一个数加第三个数之和的数,其中满足条件的个数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出到out.dat文件中。注意:部分源程序存在test.c文件中。请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。(5)程序test.c的功能是:计算500~800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,计算其间隔减、加之和,即第1个素数.第2个素数+第3个素数.第4个素数+第5个素数…的值sum。请编写函数countValue()实现程序的要求,最后main()函数调用函数writeOAT()把结果cnt和Sum,输出到文件out.dat中。中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:语言程序设计题(1):【审题关键句】字符替代f(p)=p*13mod256,小于等于32或ASCII码是偶数不变,否则替换。【解题思路】本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。【参考答案】中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:(2):【审题关键句】字符替代f(p)=p*11mod256,小于等于32或原字符对应大写字母不变,否则替换。【解题思路】本题类似第73套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。另外,在源程序中已经定义了一个无符号变量va1,因此,在编写答案程序时,不需要再重新定义。【参考答案】(3):【审题关键句】求素数的个数,存入数组,按从小到大的顺序排序。【解题思路】①首先定义两个循环变量循环i、j和一个用于数据交换的整型变量tmp。②通过for循环依次读取数组中的300个数,其中,循环变量i从0开始每次加1,直到i<300停止循环;在每次循环中判断a[i]是否是素数,如果是素数,则把a[i]的值赋给数组b[cnt],同时数组下标变量cnt值加1。③在退出循环后,用两个for循环对数组b[]中元素进行两两比较,实现数组元素从小到大的排序,比较过程中通过整型变量tmp实现两个数的交换。【参考答案】中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:(4):【审题关键句】第2个数大于第1个数加第3个数,存入数组,按第2个加第3个数之和降序排序。【解题思路】①首先定义两个循环变量i、j;一个计数变量count;一个用于中间转换数据的结构体变量CC。②建立一个for循环,指定第一个for循环的循环变量i从0开始,到200时结束,每循环一次,变量i的值加1。在循环体中依次判断每行数据中,如果aa[i]的第二个数大于第一个数加第三个数之和,则把aa[i]复制到bb[count],同时数组下标变量count加1。③将所有满足条件的记录筛选保存到数组bb口后,再通过两个for循环对数组bb[]中记录进行排序。第一个f.or循环的循环变量i的初值为0,当等于数组计数变量count的值减1时停止循环,每循环一次,i的值加1;第二个for循环的循环变量J的初值等于i+1,当等于数组计数变量count的值时停止循环,每循环一次,j的值加1;每次进行比较时,如果第i行的第二个数加第三个之和小于其后面第j行的第二个数加第三个之和,将执行if条件语句后面花括号中的命令,花括号中3条命令的功能就是根据题目要求按每行数据中第二个数加第三个之和从大到小排序。④最后将计数函数count返回。【参考答案】中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:(5):【审题关键句】计算500~800区间内素数的个数,素数的值从大到小排序,再计算其间隔减、加之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数……的值。【解题思路】①首先定义一个循环变量循环i和用于正负号转换的变量j,同时赋i的初值为-1。②通过for循环对800到500的每个数字进行逐个的扫描,指定循环变量i的初值为800,当i值等于500停止循环,每执行一次循环,i的值便减1。(注意,本题for循环从大到小依次读取数据是根据题目要求设计的,这样得到的素数值其排序方式就是从大到小排序。)③在每次执行for循环时,都调用素数判断函数isPrime()判断当前的i值是否为素数,如果是素数,则素数计数变量cnt值加1,正负号转换变量j的值乘以-1,实现正负数的交替转换,最后将每次循环得到的i*j的值累加到求和变量sum中。【参考答案】中大网校引领成功职业人生中大网校“十佳网络教育机构”、“十佳职业培训机构”网址:

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功