考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C++语言程序设计 > C++模拟试题 > 文章内容
  

全国计算机二级考试C++语言程序设计上机考试试题及答案(7)

中华IT学院   【 】  [ 2017年6月20日 ]

  上机考试试题答案与解析

  一、程序改错题

  (1)应改为“Ave+=data[i];”或“Ave=Ave+data[i];”。

  (2)应改为“if(data[i])Max)Max=data[i];”。

  (3)应改为“if(data[i](Min)Min=data[i];”。

  【解析】本题第一个for循环是求数组各个元素的和,逐次将每个元素值加起来,而程序当中是逐个赋值的,因此在第1标识处应将“Ave=data[i]”改成“Ave+=data[i]”或“AveAve+data[i]”。第2处根据题意再求数组当中元素的最大值和最小值,用变量Max记录最大值,Min记录最小值,在for循环中,逐次比较,如果该元素值比当前Max大,则Max取该元素值,因此第2标识处正确的语句应该是“if(data[i]>Max)Max=data[i]”。如果数组中该元素值比Min小,则Min取该元素值。因此,两个if语句中的条件判断错误,将第3标识处的语句“if(data[i]>Min)Min=data[i];”改成“if(data[i]  二、简单应用题

  intre=0:

  for(inti=0;i  {

  for(intj=0;j  {

  if(!isPrime(A[i][j]))//判断是否是素数,不是

  素数则累加

  {

  re=re+A[i][j];

  }

  }

  }

  returnre:

  【解析】矩阵A[NUM][NUM]是二维矩阵,sum函数的参数n给出了矩阵A的具体维数,因此矩阵A中共含有n×n个有效数。A[NUM][NUM]中的元素可表示为A[i][j],其中i表示元素所在行数,j表示元素所在的列数,i、j分别在0到n-1范围内变化,因此设置内外两层循环可逐个遍历整个矩阵寻找非质数。函数isPrime提供了判断质数的方法,对每个元素A[i][j],调用函数isPrime(A[i][j]),判断函数的返回值是否为假,如果为假,说明不是质数,应该累加起来。

  三、综合应用题

  (1)应添加“BA(intm){a=m;}”。

  (2)应添加“PAl(intm,intn):BA(n){b=m;}”。

  (3)应添力Ⅱ“PA2(intm,intn,intk):PAl(n,k){C=m;)”。

  (4)应添加“cout<  【解析】根据第1处要求,构造函数的函数名和类名一致,显然BA构造函数的名称为BA,在BA()中通过参数m完成对成员变量a的赋值,因此构造函数的名称为BA(intm),在函数内部对成员a赋值,故第1处的语句应添加“BA(intm){a=m;)”。根据第2处的要求,构造函数的形式为“PAl(intm,intn)”,m赋值给PA1类成员b,将n作为基类BA构造函数的参数值传入,故第2处应添加“PA1(intm,intn):BA(n){b=m;}”。根据第3处的要求,函数形式为PA2(intm,intn,intk),在构造函数中将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参数m和n,因此第3处应添加“PA2(intm,intn,intk):PA1(n,k){C=m;}”。根据第4处的要求,PA2类公有派生于PA1,而PA1公有派生于BA,因此在PA2类中可以调用基类的geta()和getb()来获得基类私有成员a和b,再输出PA2的私有成员C即满足要求,因此第4处应添加“cout<

首页 1 2 3 4 尾页
分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved