上机考试题(1)定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。在主函数中用Score类定义学生成绩对象数组s[3]。用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。实验数据:NoNameMathPhiDataAve1001Zhou8070601002Chen9080851003Wang707589(2)建立一个存放素数的类Prime,具体要求如下。①私有数据成员。inta[25]:存放指定范围内的所有素数。intn1,n2:存放指定范围的下限和上限intnum:存放素数的个数。②公有成员函数Prime(intm1,intm2):构造函数,用参数m1、m2初始化n1、n2,同时初始化num。voidprimef():求指定范围内的所有素数,把它们依次存放在数组a中。并将求出的素数个数赋给num。voidshow():显示求出的素数的个数及所有的素数,每行输出5个素数。③在主函数中定义一个Prime类的对象p(100,200),通过p调用成员函数完成求素数及输出素数的工作。课后习题(1)定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。用复数类定义复数对象c1、c2、c3,用默认构造函数将c1初始化为c1=20+40i,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=20+40i。用公有成员函数Dispaly()显示复数c1、c2与c3的内容。(2)定义一个矩形类Rectangle,矩形的左上角(Left,Top)与右下角坐标(Right,Bottom)定义为保护数据成员。用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。然后调用Show()显示矩形左上角与右下角坐标及对角线长度。最后用delete运算符回收为矩形动态分配的存储空间。2.#includeiostream#includemath.husingnamespacestd;classPrime//声明Prime类{private:inta[25];intn1,n2;intnum;public:Prime(intm1,intm2):n1(m1),n2(m2),num(0){}//定义构造函数并对参数初始化voidprimef();//筛选素数并统计voidshow();//输出素数};voidPrime::primef(){boolk;//定义bool类型的参数for(inti=n1;i=n2;i++){k=true;for(intj=2;j=sqrt(i);j++)if(i%j==0){k=false;break;}if(k)a[num++]=i;}}voidPrime::show(){for(inti=0;inum;i++){if(i%5==0)coutendl;couta[i]'';}coutendl;}voidmain(){Primep(100,200);p.primef();p.show();}1.#includeiostreamusingnamespacestd;classComplex//定义Complex类{public:Complex(){real=0;image=0;}//定义无参构造函数Complex(doubler,doublei){real=r;image=i;}//定义有参构造函数Complex(Complex&c)//定义拷贝构造函数{real=c.real;image=c.image;}voidDisplay();//声明输出函数private:doublereal;doubleimage;};voidComplex::Display(){coutreal+imageiendl;}intmain(){Complexc1(20,40),c2,c3(c1);//定义复数对象c1.Display();c2.Display();c3.Display();return0;}2.#includeiostream.h#includemath.hclassRectangle//定义矩形类{protected:floatleft;floattop;floatright;floatbottom;public:Rectangle(floatl,floatt,floatr,floatb){left=l;top=t;right=r;bottom=b;}Rectangle(Rectangle&r){left=0;top=0;right=0;bottom=0;}doubleDiagonal();//声明计算对角线长函数voidShow();//声明输出函数};doubleRectangle::Diagonal(){returnsqrt((left-right)*(left-right)+(top-bottom)*(top-bottom));}voidRectangle::Show(){cout(left,top):(left,top)endl;cout(right,bottom):(right,bottom)endl;coutDiagonal=Diagonal()endl;}intmain(){Rectangle*r1=newRectangle(10,10,20,20);//用new运算符动态建立矩形对象r1r1-Diagonal();r1-Show();deleter1;return0;}