当前位置:首页 >> 小学作文 >>

2013年全国计算机等级考试上机考试模拟试卷(3)-中大网校

中大网校引领成功职业人生

2013 年全国计算机等级考试上机考试模拟试卷(3)
总分:100 分
C 语言程序设计题 (1)程序 test.C 的功能是:把 s 字符串中的所有字符左移一个位置,串中的第一个字符移到 最后。请考生编写函数 chg(char*s)实现程序要求,最后调用函数 readwriteDAT()把结果输出 到 0ut . dat 文 件 中 。

及格:60 分

考试时间:120 分

(2)已知数据文件 in.dat 中存有 300 个四位数,并已调用读函数 readDat()把这些数存入数组 a 中,请编制一函数 jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上 的数加个位数上的数的个数 cnt,再求出所有满足此条件的四位数平均值 pjz1,以及所有不 满足此条件的四位数平均值 pjz2。最后 main()函数调用写函数 writeDat()把结果 cnt,pjz1,
中大网校
“十佳网络教育机构”、 “十佳职业培训机构” 网址:www.wangxiao.cn

中大网校引领成功职业人生

pjz2







out



dat







(3)函数 ReadDat()实现从文件 in.dat 中读取一篇英文文章,存入到字符串数组 XX 中;请编 制函数 encryptChar(),按给定的替代关系对数组 XX 中的所有字符进行替代,仍存入数组 xx 对应的位置上, 最后调用函数 WriteDat()把结果 XX 输出到文件 out. 中。 替代关系: dat f(p)=p*11 mod 256,mod 为取余运算,P 是数组 XX 中某一个字符的 ASCII 值,f(p)是计算 后的无符号整型值(注意:中间变量定义成整型变量),如果原字符的 ASCII 值是偶数或计算 后 f(p)值小于等于 32,则该字符不变,否则用 f(p)替代所对应的字符。 注意:部分源程序 存放在 test.c 文件中,原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点 符号和空格,并也按此替代关系进行处理。 请勿改动主函数 main()、读函数 ReadDat()和输 出 函 数 WriteDat() 的 内 容 。

中大网校

“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn

中大网校引领成功职业人生

中大网校

“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn

中大网校引领成功职业人生

中大网校

“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn

中大网校引领成功职业人生

(4)将文件 in.dat 中的 200 个整数读至数组 XX 中。请编制 jsValue()函数,要求:求出数组 XX 中的数值为奇数的个数 cnt1 和数值为偶数的个数 cnt2 以及数组 XX 下标为奇数的元素 值的算术平均值 pj。 结果 cnt1,cnt2,pj 输出到 out.dat 中。注意:部分源程序存在 test.c 文件中。请勿改动数据文件 in.dat 中的任何数据、主函数 main()、读函数 read_dat()和输出 函 数 writeDat() 的 内 容 。

中大网校

“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn

中大网校引领成功职业人生

(5)已知数据文件 IN1.DAT 和 IN2.DAT 中分别存有 100 个两位十进制数,并且已调用读 函数 readDat()把这两个文件中的数存入数组 a 和 b 中,请考生编制一个函数 jsVal(),实现的 功能是依次对数组 a 和 b 中的数按条件重新组成一个新数并依次存入数组 C 中, 再对数组 C 中的数按从小到大的顺序进行排序,最后调用输出函数 writeDat()把结果 C 输出到文件 out.dat 中。组成新数的条件:如果数组 a 和 b 中相同下标位置的数均是奇数,则数组 a 中 十位数字为新数的千位数字, 个位数字仍为新数的个位数字, 数组 b 中的十位数字为新数的 百位数字,个位数字为新数的十位数字,这样组成的新数并存入数组 C 中。

中大网校

“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn

中大网校引领成功职业人生

答案和解析 C 语言程序设计题 (1) : 【审题关键句】所有字符左移一个位置,串中的第一个字符移到最后。 【解题思路】
中大网校
“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn

中大网校引领成功职业人生

定义循环变量 i,字符变量 first 和字符指针变量 P,并使 P 指向字符串 S。 ②把字符串 S 的第一个字符赋给 first 变量保存起来。 ③在 for 循环语句中,循环变量 i 从 0 开始,依次递增直到其值等于或大于(int)strlen(s)一 1, 把*(p+i+1)的值赋给+(p+i),实现把字符串 S 中的所有字符左移一个位置,循环结束后,把 first 的值赋给 p[strlen(s).1],即把字符串的首字符移动到字符串的最后位置上。 【参考答案】

(2) : 【审题关键句】千位+百位等于十位+个位的数的个数,求满足此条件以及不满足此条件的 四位数平均值 pjz1 和 pjz2。 【解题思路】 本题类似第 20 套试题, 通过审题可以发现仅有一个不同点, 即判断符合条件的四位数是 “千 位+百位等于十位+个位” ,参考答案的第 8 条语句,修改 if 条件语句的判断条件即可。 【参考答案】

中大网校

“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn

中大网校引领成功职业人生

(3) : 【审题关键句】字符替代 f(p)=p*11mod256,小于等于 32 或原字符的 ASCII 码是偶数不变, 否则替换。 【解题思路】 本题类似第 70 套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案 的第 6 行,修改 if 条件语句的设置即可。 【参考答案】

(4) : 【审题关键句】读入数值,奇数个数,偶数个数,数组下标为奇数的平均值。 【解题思路】 本题类似第 42 套试题,通过审题可以发现仅有一个不同点,即本题是计算数组下标为奇数 的元素的平均值,参考答案的第 6 条语句。 【参考答案】

(5) : 【审题关键句】数组相同下标位置上的奇数,数组 a 中十位数等于新数的千位数字,个位等 于新数个位数字,数组 b 中的十位等于新数的百位数字,个位数字等于新数的十位数字,存 入数组,从小到大排序。
中大网校
“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn

中大网校引领成功职业人生

【解题思路】 ①定义整型循环变量 i、j 和局部变量 trap。 ②在 for 循环语句中,循环变量 i 从 0 开始,依次递增直到其值等于或大于 MAX,用 if 条 件语句判断如果 a[i]和 b[j]同时为奇数, a[i]的十位数字为新数的千位数字, 由 个位数字为新 数的个位数字,b[i]的十位数字为新数的百位数字,个位数字为新数的十位数字,把这个新 组成的数存入数组元素 c[cn],同时数组下标变量 cn 加 1。 ③在第一层 for 循环语句中,循环变量 i 从 0 开始,依次递增直到其值等于或大于 cnt,在第 二层循环中,循环变量{从 i+1 开始,依次递增直到其值等于 cnt,用 if 条件语句判断如果数 组元素 c[i]大于 c[j],则两者进行互换,实现数组 C 中的数按从小到大的顺序进行排序。 【参考答案】

中大网校

“十佳网络教育机构”、 “十佳职业培训机构”

网址:www.wangxiao.cn