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

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

1、国家二级 C+机试(操作题)模拟试卷 78及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi epp,该程序运行时有错误,请改正其中的错误,使得程序正确运行。 程序输出: S1: n=20 s2: n=10 执行 s3 add(s1, s2) s3: n=30 s4: n=30 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #include C1ass TestClass int n; public: TestClass() Testelass(int m) n=m; *error* TestClas

2、s add(TestClass sl, s2) thiS一 n=s1 n+s2 n; *error* return(thiS); void disp() cout #define MAXNLEN 100 void factor(int*des, intin=s1 n+s2 n: ”语句中的 this变量为指针变量,所以第 2个标识下的 “return(this); ”返回语句中的 this变量,应该返回指针型,所以修改为 “retum f*this); ”。 (3)C+中类的定义 格式应为 “class类名 ; ”,以分号为结尾,所以第 3个标识下,类结尾处补充分号 “; ”,即修改为 “;

3、”。 二、简单应用题 2 【正确答案】 1 length=0 ; 2 for(int i=1 ; i=n; i+) 3 4 if(n i=0)判断是否 n的因数 5 6 des1ength=i 7 iength+ 8 9 【试题解析】 (1)找到 n的每一个因数可采用循环方法,循环变量从 1:开始到n,逐个取 n和循环变量的余数。 (2)如果余数为 0说明是 n的因数,添加到 des中,参数 length是采用的引用传递方式,形参的改变会影响实参,因此可直接将 length的值加 1表示 des中元素个数加 1。 三、综合应用题 3 【正确答案】 (1)添加语句: length=0; (2)将

4、 “if(Arrayi =n)”补充完整为: if(Arrayi=n)或 if(n=Arrayi) (3)将 “if()”补充完整为: if(ilength)或 if(i!=length) (4)将 “if()”补充完整为: if(Arrayi=n)或 if(n=Arrayi) 【试题解析】 (1)使 length的初始化为 0,因此添加语句: “length=0; ”。 (2)第 2个标识下是检查 n是否已经在数组当中存在,用 if语句来判断,即if(Arrayi一 n)或 if(n=Arrayi)。 (3)DelMember(int n)函数删除指定的元素,由于元素在数组当中的位置未知,因此必须先查找该元素的位置,在该函数的实现过程当中通过 for循环来完成,即第一个 for循环查找 n在数组中的位置。如果 11存在于数组中,那么 if中的 break语句就会执行跳出 循环,此时循环变量 i的值会小于 length,即通过判断 i的值是否小于 length值可以知道 n是否存在数组中,如果存在数组中接下来进行删除操作。即第 3个标识下应改为 if(ilength)或 if!=length)。 (4)islnclude(int n)成员函数用来判断 n是否存在数组当中,可用 if语句比较,即第4个标识下应改为 “if(Arrayi一 n)或 if(nArrayi)”。

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

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

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