首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件pmj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的内
请打开考生文件夹下的解决方案文件pmj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的内
admin
2020-12-21
65
问题
请打开考生文件夹下的解决方案文件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://jikaoti.com/ti/M7l0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序的执行结果为:12345432112343211
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(intx),该函数功能是判定x的所有的约数,并且在函数中调用写函数WriteFile0将结果输出到modi2.txt文件中。例如:x=10的约数为1,2,5,10。注意:不要
在声明派生类时,如果不显示地给出继承方式,缺省的类继承方式是私有继承private。己知有如下类定义:classTestClass{protected:voidfun(){}};classTestCl
下列叙述中,正确的是()。
在一个派生类对象结束其生命周期时
下列模板声明中,有语法错误的是( )。
定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为( )。
在C++中,编译系统自动为一个类生成缺省构造函数的条件是( )。
数据库设计过程不包括
十进制整数设为整数类I,则下面属于类I的实例的是
随机试题
考生文件夹下有一个数据库文件“samp2.accdb”,其中存在已经设计好的表对象“tCollect”“tpress”和“tType”,请按以下要求完成设计:创建一个查询,查找收藏品中CD盘最高价格和最低价格信息并输出,标题显示为“v_Max”和“
艾滋病所致机会性感染死亡的主要原因是()。
下列哪些属继发性脑损伤()。
影响疼痛的因素包括
A.阳明热甚,津液大伤B.肾阴枯竭,津不上荣C.胃肾热盛、气液未竭D.骨绝E.胃肾热甚,气液已民竭齿焦无垢,见于
患者,男性,50岁。呕血5小时入院。查体:P120次/分,BP80/55mmHg。神志不清,营养状况差。巩膜明显黄染,腹壁可见静脉曲张,肝肋下可触及,质地较硬,边缘较钝,脾肋下6cm,移动性浊音阳性,肠鸣音弱。此时不宜采取的处理措施是
一、注意事项 1.申论考试,与传统作文考试不同,是对分析驾驭材料的能力与对表达能力并重的考试。 2.作答参考时限:阅读材料40分钟,作答110分钟。 3.仔细阅读给定的资料,按照后面提出的“申论要求”依次作答。二、给定材料
AsValentine’sDayapproaches,manysinglepeoplebegintofeelalittlesorryforthemselves.Onaday【C1】______bycouples,thi
在下面的选项中,不属于三金工程的是_______。
Wegenerallyviewthefamilyasbeingoneofourmoststableinstitutions:yet,ourfamilysystemhas【B1】______anumberofchang
最新回复
(
0
)