问答题

请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2,此工程包含一个源程序文件proj2.cpp。其中定义了Score类。
Score是一个用于管理考试成绩的类。其中,数据成员_s指向存储成绩的数组,_n表示成绩的个数;成员函数Sort使用冒泡排序法将全部成绩按升序进行排列。
请在程序中的横线处填写适当的代码,然后删除横线,以实现Score类的成员函数Sort。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class Score
public:
Score(double * s, int n):_s(s),_n(n)
double GetScore (int i) const return_s[i];
void Sort ();
private:
double*_s;
int_n;
;
void Score::Sort()

for(int i=0;i<n-1;______)
//********found********
for(int j=______;j>i;j--)
if(_s[j]<_s[j-1])
//交换_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<NUM;i++)
s[i]=double(rand ())/RAND MAX*100;
Score ss(s, NUM);
ss.Sort();
for(int j=0;j<NUM;j++)
cout<<ss.GetScore(j)<<endl;
return 0;

【参考答案】

(1)i++
(2)_n-1
(3)_s[j]=_s[j-1]
(4)_s[j-1]=t
热门 试题

问答题
请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程prog3,其中声明了VaIArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种情况下程序的输出应该是: VaIArray v1=1,2,3,4,5 VaIArray v2=2,2,2,2,2 要求: 补充编制的内容写在“ *******333*******”与“ ********666********”之间。不要修改程序的其他部分。 注意: 相关文件包括:main.cpp、ValArray.h。 程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件。 ValArray.h #include<iostream> using namespace std; class ValArray int*v; int size; public: ValArray(const int*p,int n)size(n) v=new int[size]; for (int i=0;i<size;i++) v[i]=p[i]; ValArray(const ValArray& other); ~ValArray()delete [] v; void setElement(int i,int val) v[i] =val; void print (ostream& out) const for (int i=0;i<size-1;i++) out<<b[i]<< , ; out<<v[size-1]<<’’; ; void writeToFile (const char*); main.cpp #include ValArray.h ValArray::ValArray (const ValArray&other) ********333******** ********666******** int main() const int a[]=1,2,3,4,5; ValArray v1(a,5); ValArray v2(v1); for (int i=0;i<5;i++) v2.setElement(i,2); cout<< ValArray v1= ; v1.print(cout); cout<<endl; cout<< ValArray v2= ; v2.print(cout); cout<<endl; writeToFile( ); return 0;