1、上机考试题 (1)定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。在主函数中用Score类定义学生成绩对象数组s[3]。用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。 实验数据: No Name Math Phi Data Av
2、e 1001 Zhou 80 70 60 1002 Chen 90 80 85 1003 Wang 70 75 89 (2)建立一个存放素数的类Prime,具体要求如下。 ①私有数据成员。 int a[25]:存放指定范围内的所有素数。 int n1,n2:存放指定范围的下限和上限 int num:存放素数的个数。 ②公有成员函数 Prime(int m1,int m2):构造函数,用参数m1、m2初始化n1、n2,同时初始化num。 void primef():求指定范围内的所有素数,把它们依次存放在数组a中。并将
3、求出的素数个数赋给num。 void show():显示求出的素数的个数及所有的素数,每行输出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,矩
4、形的左上角(Left,Top)与右下角坐标(Right,Bottom)定义为保护数据成员。用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。然后调用Show()显示矩形左上角与右下角坐标及对角线长度。最后用delete运算符回收为矩形动态分配的存储空间。
2.#include
5、声明Prime类 { private: int a[25]; int n1,n2; int num; public: Prime(int m1,int m2):n1(m1),n2(m2),num(0){} //定义构造函数并对参数初始化 void primef(); //筛选素数并统计 void show(); //输出素数 }; void Prime::primef() { bool k; //定义bool类型的参数 for(int i=n1; i<=n2;i++) {
6、k=true;
for(int j=2;j<=sqrt(i);j++)
if(i%j==0)
{
k=false;
break;
}
if(k) a[num++]=i;
}
}
void Prime::show()
{
for(int i=0;i 7、
}
void main()
{
Prime p(100,200);
p.primef();
p.show();
}
1.#include 8、omplex(Complex &c) //定义拷贝构造函数
{
real=c.real;
image=c.image;
}
void Display(); //声明输出函数
private:
double real;
double image;
};
void Complex::Display()
{
cout< 9、义复数对象
c1.Display();
c2.Display();
c3.Display();
return 0;
}
2.#include 10、ttom=b;}
Rectangle(Rectangle &r){left=0;top=0;right=0;bottom=0;}
double Diagonal(); //声明计算对角线长函数
void Show(); //声明输出函数
};
double Rectangle::Diagonal()
{
return sqrt((left-right)*(left-right)+(top-bottom)*(top-bottom));
}
void Rectangle::Show()
{
cout<<"(left,top):("<
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818