首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有XArray类的定义和main主函数的定义。请把主程序文件中的XArray类的成员函数twoMinSum()的定义补充完整,补充的
admin
2020-04-10
59
问题
请打开考生文件夹下的解决方案文件proj3,其中包含主程序文件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 namespace std;
class XArray{//数组类
int * a;
int size;
public:
XArray(int b[],int len):size(len)//构造函数
{
a=new int[size];
for(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中两个最小元素值之和
~XArray(){delete[]a;}
};
void writeToFile(const char *);//不用考虑此语句的作用
//main.cpp
#include"Array.h"
//返回成员数组a中的两个最小元素值之和
int XArray::twoMinSum()
{
int x1,x2;
if(1ength()<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++)
cout<<X
<<’ ’;
cout<<endl<<x.twoMinSum ()<<endl;
writeToFile("");//不用考虑此语句的作用
}
选项
答案
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://www.kaotiyun.com/show/Fu8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classMyClass{intb:chara;doublec;public:MyClass0:c(0.0),b(0),a(‘,’){}};创建这个类的对象时,数据成员的初始化顺序是
函数重载要求重载的函数必须有和原函数一样的【】。
程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行程序,使程序在运行过程中暴露错误,这种方法称为【 】。
在C++中,用于实现运行时多态性的是______。
线性表的顺序存储结构和线性表的链式存储结构分别是()。
知大写字母A的ASCII码是65,小写a的;ASCII码值是97,则用八进制表示字符常量’\101’为()。
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、______和选择排序等。
软件工程三要素包括方法、工具和过程,其中,______支持软件开发的各个环节的控制和管理。
数据结构主要研究的是数据的逻辑结构、数据的运算和()。
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。
随机试题
在导致肾阴亏虚的原因中,较为次要的是
改正下列词语中的错别字俯看
腰肌劳损的临床表现是
正常的Q波振幅应小于同导联中R波的多少
扣缴义务人未按规定设置、保管代扣代缴、代收代缴税款账簿或者保管代扣代缴、代收代缴税款记账凭证及有关资料的,由税务机关责令改正,情节严重的,处以()的罚款。
根据企业所得税法优惠政策的规定,企业购置用于( )等专用设备的投资额,可以按一定比例实行税额抵免。
一个国家或地区所有常驻单位在一定时期内生产活动的最终成果称为()。
人民警察对查获或者到案的违法嫌疑人应当开具检查证进行安全检查,发现管制刀具、武器、易燃易爆等危险品的,应当立即予以扣押。()
简述投资回收期的优缺点。(中南财经政法大学2016真题)
若要求从键盘读入含有空格字符的字符串,应使用函数()。
最新回复
(
0
)