首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。 Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,一n表示成绩的个数;成员函数Sort
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。 Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,一n表示成绩的个数;成员函数Sort
admin
2019-05-29
32
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。
Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,一n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成绩按升序进行排列。
请在程序中的横线处填写适当的代码,然后删除横线,以实现Score类的成员函数Sort。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include
#include
#include
using namespace std;
class Score{
public:
Score(double*S,int n): s(S), n
(n){)
double GetScore(int i)const{return S
;)
void Sort();
private:
double* S;
int n;
};
void Score::Sort()
{
//********** found**********
for(int i=0;i< n一1 ;
}
********** found**********
for(int J=?J>i;J一一)
___________________。
if(一S[J]
{ //交换_s[j]和一S[j一1]
double t=-s[j];
//**********found**********
__________;
//**********found**********
__________;:
}
}
int main()
{
const int NUM=10;
double S[NUM];
srand(time(0));
for(int i=0;i
S
=double(rand())/RAND MAX
*100;
Score SS(S,NUM);
SS.Sort();
for(int j=0;J
cout<
return 0;
}
选项
答案
(1)i++ (2)一n—1 (3)一s[j]=一s[j—1] (4)一s[j一1] =t
解析
本题考查Score类,其中涉及构造函数、成员函数和排序算法。
【解题思路】
(1)主要考查for循环语句,从题目要求可知循环变量i要从0到一n一2,因此i要递增操作,即i++。
(2)主要考查考生对冒泡排序的掌握,这里要求从后往前扫描,比较相邻两个元素,若后者小则交换,因此在这里下标j要从最后开始,即int j=一n—1。
(3)考查交换算法,在if语句中一s[j]<一s[j—1]满足条件,则实现交换。因为已经把一s[j]的值赋给了中间变量t,所以这里要把一s[j一1]的值赋给一s[j],即一s[j]=一s[j一1];。
(4)考查交换算法,这里只需把中间变量t中的值赋给_s[j—1]即可。
【解题宝典】
本题考查的是考生对冒泡排序算法的掌握,要记住冒泡排序的思想是两两比较待排序序列中的元素,并交换不满足顺序要求的各对元素,直到全部满足顺序要求为止。
转载请注明原文地址:https://jikaoti.com/ti/r5A0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C派生类的构造函数定义的一般格式为:派生类名(参数总表):基类名(参数表){派生类新增数据成员的初始化语句}在生成对象b时,就自动给基类构造函数传递实参1
A、 B、 C、 D、 C只有在创建对象时才会调用类的构造函数,在定义指针时不会调用构造函数,只有给指针new一个地址时会调用构造函数,所以本程序中一共生成了6个Point对象(A,B,C,newPoint[
A、 B、 C、 D、 B构造函数A中的形参a对静态成员a形成了屏蔽,故只有在成员函数init()中才将静态成员a的值修改为1,而在其他成员函数中没发生变换,故obj.a=1。
A、 B、 C、 D、 D重载后的运算符的优先级和结合性都不会改变,运算符重载进行对原有的运算符进行适当的改造,重载的功能与原有的功能相类似,但是不能改变原运算符的操作对象个数。
A、 B、 C、 D、 C虚函数是在类的声明中使用virtual关键字来限定的成员函数,在成员函数实现时不能再使用virtual关键字进行限定。派生类中的虚函数必须和基类中的虚函数的形参个数、形参类型、返回值
A、 B、 C、 D、 D线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此不需要另外开辟空间来保
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制:#include<iostream>usingnamespacestd;classBase{
下列字符串中,正确的C++标识符是()。
随机试题
设L是椭圆周的上半椭圆周,取顺时针方向,则曲线积分∫Ly2dx等于()。[2017年真题]
油浸式电力变压器火灾宜采用()扑灭。
汇总收款凭证的编制方法是()。
债务人不履行到期债务或者发生当事人约定的实现抵押权的情形.致使抵押财产被人民法院依法扣押的,自扣押之日起()有权收取该抵押财产的天然孳息或者法定孳息。
从长期来看,股东希望他们所持有股票的回报超过投资者从定息证券中所获得的回报,对于股东来讲,股票的回报包括()。
2017年4月,申请执行人B公司请求甲地级市乙县人民法院执行人A公司(住所地为丙地级市丁县)位于乙县的X房产。乙县人民法院在执行中发现,A公司不能清偿到期债务且资产不足以清偿全部债务。后经A公司书面同意,该执行案件移送破产审查。同年5月,受移送人民法院确定
下列哪些观点是持遗传决定论认识的?()
函数Mal("123.45")+Val("233.6")的值是【】。
IamsureIcan______himintolettingusstayinthehotelforthenight.
Oilisthesubstancethatlubricatestheworld’seconomy.Becausesomanyofourmoderntechnologiesandservicesdependonoil,
最新回复
(
0
)