首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。 Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成
请打开考生文件夹下的解决方案文件proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。 Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成
admin
2019-04-24
45
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
栈C最多能容纳4个元素,现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪个序列不是可能的出栈序列()。
以下函数实现的功能是______。voidfun(char*s){char*p,*q,temp;p=s;q=s+strlen(s)-1;while(p<q){temp=*p;*p=*
执行以下程序后,输出“*”号的个数是______。#include<iostream.h>main(){inti,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)cout<<’
软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于______阶段。
下列程序中横线处正确的语句是()。#include<iostream>usingnamespacestd;classTestClass{public: voidfun(){cout<<"Tes
静态数据成员是为()的数据。
请将下列类定义补充完整,横线处应填加语句______。classTestClass{public:voidfun(){cout<<"Base::fun"<<end1;}};classTestClass1:publicTestClas
语句int*p=&k;定义了指针p,与这个语句等效的语句序列是
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
下列字符串中,正确的C++标识符是()。
随机试题
前列腺增生症的诊断依据为
治疗细菌性痢疾最常选用的药物是
下列喷锚暗挖掘进方式中,结构防水效果差的是()。
背景材料某建筑工程施工进度计划网络图如下图所示:施工中发生了以下事件:【事件一】A工作因设计变更停工10天;【事件二】B工作因施工质量问题返工,延长工期7天;【事件三】E工作因建设单位供料延期,推迟3天施
2008年1月,李某与甲公司签订了1年期的劳动合同,合同规定试用期为3个月,试用期工资为1800元,试用期满后工资为2000元。试用期结束后,李某与甲公司签订了5年期的劳动合同。甲公司给李某的待遇是:李某的日工资为120元,每周工作5天,每天丁作8小时。
求助者说,最近他发生一奇怪现象。脑中似有两个人,各说各语,一个说白,一个硬要说黑。这称为()。
我国社会主义改造的完成有什么重大意义?
二次型f(χ1,χ2,χ3,χ4)=χ32+4χ42+2χ1χ2+4χ3χ4的规范形是_______.
假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL命令是( )。
Whyisitsodifficulttofallasleepwhenyouareovertired?Thereisnooneanswerthat【C1】______toeveryindividual.Butmany
最新回复
(
0
)