首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件pmj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的内
请打开考生文件夹下的解决方案文件pmj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的内
admin
2020-12-21
59
问题
请打开考生文件夹下的解决方案文件pmj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的内容填写在“//*******333*******”与“//*******666*******”两行之间。
经修改后运行程序,得到的输出为:
3 5 7 9 8 6 4 2
5
注意:只允许在“//*******333*******”和“//*******666*******”两行之间填写内容,不允许修改其他任何地方的内容。
//Array.h
#include(iostream>
using namespaee std;
elass XArray{//数组类
int*a;
int size;
public:
XArray(int b[],int len):Bize(len)//构造函数
{
a=new int[size];
fof(int i=0;i<size;i++)a
=b
;
}
int length()const{return size;}//返回数组长度
int&operator[](int i){//返回下标为i的元素
if(i<0‖i>=size){
cout<<”下标越界!”<<endl;
delete[]a;
exit(1);
}
return a
;
}
int twoMinSum();//成员函数声明,返回数组a中两个最小元素值之和
~XAmay(){delete[]a;}
};
void writeToFile(eonst char*);//不用考虑此语句的作用
//main.cpp
#include”Army.h”
//返回成员数组a中的两个最小元素值之和
int XArray::twoMinSum()
{
int x1,x2;
if(length()<2)exit(1);
if(a[0]<=a[1])
{x1=a[0];x2=a[1];}
else{x1=a[1];x2=a[0];}
//********333********
//********666********
return x1+x2;
}
void main(){
int a[8]={3,5,7,9,8,6,4,2};
XArray x(a,8);
for(int i=0;i<x.length();i++)
eoul<<x
<<’’;
cout<<endl<<x.twoMinSum()<<endl;
wteToFile(””);//不用考虑此语句的作用
}
选项
答案
int XArray::twoMinSum() { int x1,x2; if(length()<2)exit(1); if(a[0]<=a[1]){x1=a[0];x2=a[1];} else{x1=a[1];x2=a[0];} //********333******** for(int i=2;i<size;i++){ if(a[i]<x1) { x2=x1; x1=a[i]; }else if(a[i]<x2){ x2=a[i]; } //********666******** return x1+x2; } }
解析
根据题意,twoMinSum成员函数需要在成员a指向的size个数组元素中,找到最小的两个元素x1和x2,返回x1和x2之和。函数首先判断a指向的数组中元素个数是否大于等于2个,接着将a[0]和a[1]两个元素的较小值赋给x1,较大值赋给x2,使得x1始终指向处理过元素中的最小值,x2始终指向处理过元素的次小值;然后从数组a中下标为2的位置开始遍历各个元素,若当前元素a
<x1,说明a
是当前处理过元素中的最小值,x1是次小值;用x1更新x2,再用a
更新x1;若a
>=x1且a
<x2,说明a
是次小值,只更新x2即可;若a
>=x2,则不作处理;完成遍历后,返回x1和x2之和。
转载请注明原文地址:https://kaotiyun.com/show/KZyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classTestClass1{public:TestClass1(){cout
下面程序的输出结果是()。#include#include“string.h”voidmain(){chara[]=“HelloTest",b[]=“Test”;strcpy(a,b);
下列关于运算符重载的描述中,错误的是
下列关于派生类和基类的描述中,正确的是()。A)派生类成员函数只能访问基类的公有成员B)派生类成员函数只能访问基类的公有和保护成员C)派生类成员函数可以访问基类的所有成员D)派生类对基类的默认继承方式是公有继承
有如下类定义: class Test { public: Test(){a=0;c=0;} //① int f(int a)const {this->a=a;} //② static int g(
在关系数据库中,描述全局数据逻辑结构的是
设一棵树的度为3,其中没有度为2的结点,且叶子结点数为5。该树中度为3的结点数为
下列选项中不符合良好程序设计风格的是
以下关键字不能用来声明类的访问权限的是()。
随机试题
患者,男,25岁,化脓性中耳炎术后出现高热、咳嗽、咳痰,实验室检查显示白细胞计数增高,胸部x线片显示双肺多发片状模糊影,部分可空洞形成,可能的诊断是
我国规定股票基金购买某家上市公司的股票总额不得超过本身资产的()
甲公司指派其研究人员乙和丙两人共同研究开发一项技术。该技术被开发完成后,甲公司决定就该项技术向中国专利局申请专利。填写专利申请文件时,“发明人”一栏应当填写()。
9岁男孩,在上学时不慎滑倒,身体向前摔下,手掌撑地。当时即感左肘部疼痛,肿胀。到医院检查:左肘部压痛、肿胀,肘后三角关系正常,手指感觉运动及血供未见异常。可能的诊断是
三羧酸循环中有底物水平磷酸化的过程是
材料:一个爸爸很关注儿子的学习情况和班级里的学习环境。一次他问儿子:“你们班上自习课的时候有多少人?’’儿子说:“老师在的时候有45人。”于是爸爸又问:“老师不在的时候有多少人。”儿子回答:“一个人也没有。”问题:(1)评价一
羊群效应:一般用以比喻人都有一种从众心理,从众心理很容易导致盲从,而盲从往往会陷入骗局或遭到失败。根据该定义,下列不属于羊群效应的是()。
外部监督,是指监督主体与监督对象之间不具有(),这种监督的主体是公安机关以外的其他机关、组织和公民个人,主要有国家权力机关的监督、行政督察监督、检察监督、行政诉讼监督、社会监督等。
决策支持系统(DSS)的理论核心是决策模式理论,提出决策模式理论的是著名科学家?
考生文件夹下存在一个数据库文件“samp2.accdb”,里面已经设计好“tCourse”、“tGrade”、“tStudent”三个关联表对象和一个空表“tSinfo”,试按以下要求完成设计:创建一个查询,计算每名学生所选课程的学分总和,并依次显示“
最新回复
(
0
)