首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。 Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成
请打开考生文件夹下的解决方案文件proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。 Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成
admin
2019-04-24
34
问题
请打开考生文件夹下的解决方案文件proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。
Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成绩按升序进行排列。
请在程序中的横线处填写适当的代码,然后删除横线,以实现Score类的成员函数Sort。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
1 //proj2.cpp
2 #include
3 #include
4 #include
5 using namespace std;
6 class Score {
7 public:
8 Score(double * s, int n) : s(s), n(n) {}
9 double GetScore(int i)const
10 {return s
;}
11 void Sort();
12 private:
13 double*s;
14 int;n ;
15 };
16 void Score::Sort()
17 {
18 //********found********
19 for(int i=0 ; i<_n-1;____________)
20 //********found********
21 for(int j=___________;j>i;j--)
22 if ( s[j] < s[j-1] )
23 { //交换 s[j]和 s[j-1]
24 double t=s[j];
25 //********found********
26 __________;
27 //********found********
28 ____________;
29 }
30 }
31
32 int main()
33 {
34 const int NUH=10;
35 double s[NUM];
36 srand(time(0));
37 for(int i=0 ; i
38 s
=double(rand())/RAND_MAX * 100 ;
39 score ss(s,NUM);
40 ss.Sort();
41 for(int j=0;j
42 cout<
43 return 0;
44 }
选项
答案
(1)i++ (2)_n—1 (3)_s[j]=_s[j一1] (4)_s[j一1]=t
解析
(1)主要考查for循环语句,从题目要求可知循环变量i要从0到_n一2,因此i要递增操作,即i++。
(2)主要考查考生对冒泡排序的掌握,这里要求从后往前扫描,比较相邻两个元素,若后者小则交换,因此在这里下标j要从最后开始,即int j=_n—。
(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://kaotiyun.com/show/QOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于一个类定义,下列叙述中错误的是()。
下面程序的输出结果为()。#inelude<iostream.h>voidmain(){intx;int&y=x;//变量引用y=99;cout<<"x="<<x<<end1;}
以下程序运行后的输出结果是()。#include<iostream.h>voidmain(){charaft="abbcabbcabbc";inti=0,j=0,k=0;while(a[i
有如下类声明:classFoo{intbar;};则Foo类的成员bar是()
下列关于this指针的叙述中,正确的是()
有如下函数模板定义:templateT1sum(T1a1){return(a1+a2+a3);}则以下调用中正确的是()。
有如下类的定义。横线处的语句是()。classMyClass{public:MyClass(inta=0,intb=0){X=a;Y=b;}voidChange()co
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval)://①~Sample();//②private:int
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数。再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
下列是重载乘法运算的函数原型声明,其中错误的是
随机试题
图中标志的含义是________。
《季氏将伐颛臾》所体现出的孔子的政治主张是
能平肝疏肝,祛风明目的药物是
间质性心肌炎最突出的组织学变化是()。
患者,女,72岁。患帕金森病5年。随诊中患者表示现在多以碎步、前冲动作行走,并对此感到害怕。患者进行行走训练时,护士应提醒患者避免
如果处理多个工资类别,可以分别进行月末处理。()
1868年,俄国教育家乌申斯基出版了(),对当时的心理学发展成果进行了总结,乌申斯基因此被称为“俄罗斯教育心理学的奠基人”。
2010年我国在线教育市场规模为491.1亿元,到2015年在线教育市场突破千亿元大关,达1171亿元。与热闹的市场相对的是,行业整体面临较大的盈利困难。截至2015年年底,我国约有9500家从事互联网教育的公司,经过对其中400家在线教育平台调查发现
WhatisCarl’sproblem?
WhyarethetaxidriversinJerusalemofferedEnglishcourses?
最新回复
(
0
)