[计算机类试卷]国家二级C++机试(操作题)模拟试卷170及答案与解析.doc

上传人:towelfact221 文档编号:497233 上传时间:2018-11-28 格式:DOC 页数:6 大小:31KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷170及答案与解析.doc_第1页
第1页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷170及答案与解析.doc_第2页
第2页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷170及答案与解析.doc_第3页
第3页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷170及答案与解析.doc_第4页
第4页 / 共6页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷170及答案与解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、国家二级 C+机试(操作题)模拟试卷 170及答案与解析 一、基本操作题 1 下列给定程序中,函数 fun的功能是:在形参 ss所指字符串数组中,将所有串长超过 k的字符串中后面的字符删除,只保留前面的 k个字符。 ss所指字符串数组中共有 N个字符串,且串长小于 M。 请在程序的中括号处填入正确的内容并将中括号删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #include #define N 5 #define M 10 *found* void fun(char(*ss)【 1】, int k) int i

2、=0; *found* while(i6 6 7 23 18 5 8 21 45 38 第 2组数为: 5 7 23 中值为: 7替换后的数列为: 6 6 7 23 18 5 8 21 45 38 第 3组数为: 7 23 18中值为: 18替换后的数列为: 6 6 7 18 18 5 8 21 45 38 第 4组数为: 23 18 5中值为: 18替换后的数列为: 6 6 7 18 18 5 8 21 45 38 第 5组数为: 18 5 8 中值为: 8替换后的数列为: 6 6 7 18 18 8 8 21 45 38 第 6组数为: 5 8 21 中值为: 8替换后的数列为: 6 6

3、7 18 18 8 8 21 45 38 第 7组数为: 8 21 45中值为: 21替换后的数列为: 6 6 7 18 18 8 8 21 45 38 第 8组数为: 21 45 38 中值为: 38替换后的数列为: 6 6 7 18 18 8 8 21 38 38 最终结果为: 6 6 7 18 1 8 8 8 21 38 38 请改正程序中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #inlclude #define N 10 int findmid(int a, int b, int c) (int t;

4、t=(ab)? (bc?b: (ac?c: a): (ac)?a: (bc)?c: b); *found* return b; void fun(nt x) int i, a, b, c, tN; *found* for(i=0; i #include #include void fun(int e133, int b33) void main() int aim3=1, 2, 3, 4, 5, 6, 7, 8, 9, t33; int i, j; system(“CLS“); fun(a, t); for(i=0; i3; i+) for(j=0; j3; J+) printf(“ 7d“

5、tij); printf(“ n“); 国家二级 C+机试(操作题)模拟试卷 170答案与解析 一、基本操作题 1 【正确答案】 (1)M (2)N (3) 0 【试题解析】 填空 1:根据 main函数中的函数调用语句,确定函数定义时的形式参数,所以填入 M。 填空 2: while循环语句需要对所有字符串进行操作,因此循环条件是 iN。 填空 3:字符串结尾加入字符串结束标识 0。 二、简单应用题 2 【正确答案】 (1)return t; (2)for(i=0; iN; i+)ti=xi; (3)xi+1=findmid(a, b, c); 【试题解析】 (1)函数 findmid的功能

6、是找 到 a、 b、 c三个数中的中间数,并存放在变量 t中,因此应返回 t。 (2)语法错误,句末缺少分号。 (3)本程序是对数组 x进行操作,数组 t只是用来暂时存放数组 x中的元素,因此此处应为 xi+1=findmid(a, b, c)。 三、综合应用题 3 【正确答案】 void fun(int a33, int b33) int i, j; for(i=0; i3; i+) for(j=0; j3; j+) bij=aij+aji; 水把矩阵 a加上 a的转置,存放在矩阵 b中 * 【试题解析】 行列数相等的二维数组的转置就是行列互换,即转置后的第 i行第j列正好对应原矩阵的第 j行第 i列。本题使用双层循环实现矩阵的转置,并将计算结果存入矩阵 b中,外层循环控制矩阵的行下标,内层循环控制矩阵的列下标。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1