编程题复习资料docWord下载.docx

上传人:b****6 文档编号:19398299 上传时间:2023-01-05 格式:DOCX 页数:15 大小:22.22KB
下载 相关 举报
编程题复习资料docWord下载.docx_第1页
第1页 / 共15页
编程题复习资料docWord下载.docx_第2页
第2页 / 共15页
编程题复习资料docWord下载.docx_第3页
第3页 / 共15页
编程题复习资料docWord下载.docx_第4页
第4页 / 共15页
编程题复习资料docWord下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

编程题复习资料docWord下载.docx

《编程题复习资料docWord下载.docx》由会员分享,可在线阅读,更多相关《编程题复习资料docWord下载.docx(15页珍藏版)》请在冰豆网上搜索。

编程题复习资料docWord下载.docx

}

voidsort2(inta[])

for(i=0;

for(j=i+1;

j<

if(a[i]<

a[j])

{temp=a[i];

a[i]=a[j];

a[j]=temp;

voidsort3(inta[])

{

inti,j,k,temp;

{k=i;

if(a[k]>

a[j])k=j;

if(k>

i)

{temp=a[i];

a[i]=a[k];

a[k]=temp;

voidmain(void)

inti;

intb[10];

"

请输入10个数:

10;

cin>

>

b[i];

sort1(b);

输出排好序的10个数:

print(b);

sort2(b);

sort3(b);

程序运行结果:

269115612532221419

2569101114222532

3225221411109652

(2)

①递归公式为:

x;

n=1

px(n)=

px(n-1)+(-1)n-1xn;

n>

1

②递归结束条件:

n=1

③递归约束条件:

#include<

math.h>

{floatx;

intn;

floatpx(float,int);

cout<

pleaseinputx,n:

;

cin>

x>

n;

px="

px(x,n)<

floatpx(floatx,intn)

{floatp;

if(n==1)

p=x;

else

p=px(x,n-1)-pow(-1,n)*pow(x,n);

returnp;

24

px=-10

二、类与对象的定义与使用

(1)定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。

用复数类定义复数对象c1、c2、c3,用默认构造函数将c1初始化为c1=20+40i,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=20+40i。

用公有成员函数Dispaly()显示复数c1、c2与c3的内容。

(2)定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。

定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。

在主函数中用Score类定义学生成绩对象数组s[3]。

用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。

实验数据:

NoNameMathPhiDataAve

1001Zhou807060

1002Chen908085

1003Wang707589

(3)定义一个矩形类Rectangle,矩形的左上角(Left,Top)与右下角坐标(Right,Bottom)定义为保护数据成员。

用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。

在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。

然后调用Show()显示矩形左上角与右下角坐标及对角线长度。

最后用delete运算符回收为矩形动态分配的存储空间。

(1)

classComplex

{private:

floatReal,Image;

public:

Complex(floatr,floati)//定义有参构造函数

{Real=r;

Image=i;

}

Complex(Complex&

c)//定义拷贝构造函数

{Real=c.Real;

Image=c.Image;

Complex()//定义无参构造函数

{Real=0;

Image=0;

voidDisplay()

{cout<

Real<

+"

Image<

i"

'

\n'

};

{Complexc1(10,20),c2,c3(c1);

c1.Display();

c2.Display();

c3.Display();

}

程序运行结果:

10+20i

0+0i

(2)

string.h>

classScore

intNo;

charName[8];

floatMath,Phi,Data,Ave;

voidWrite(intno,charname[],floatmath,floatphi,floatdata)

{No=no;

strcpy(Name,name);

Math=math;

Phi=phi;

Data=data;

}

voidAverage(void)

{Ave=(Math+Phi+Data)/3;

No<

\t'

Name<

Math<

Phi<

Data<

Ave<

};

{inti,no;

charname[8];

floatmath,phi,data;

Scores[3];

Input3studentdata"

for(i=0;

3;

{

no>

name>

math>

phi>

data;

s[i].Write(no,name,math,phi,data);

s[i].Average();

学号姓名数学物理数据结构平均分\n"

s[i].Display();

Input3studentdata

1001Zhou807060

1002Chen908085

1003Wang707589

学号姓名数学物理数据结构平均分

1001Zhou80706070

1002Chen90808585

1003Wang70758978

(3)

classRectangle

{protected:

floatLeft,Top;

floatRight,Bottom;

Rectangle(floatl,floatt,floatr,floatb)

{Left=l;

Top=t;

Right=r;

Bottom=b;

Rectangle(Rectangle&

R)

{Left=0;

Top=0;

Right=R.Right;

Bottom=R.Bottom;

doubleDiagonal()

{returnsqrt((Left-Right)*(Left-Right)+(Top-Bottom)*(Top-Bottom));

voidShow()

(Left,Top)=("

Left<

"

Top<

)"

(Right,Bottom)=("

Right<

Bottom<

Diagonal="

Diagonal()<

{Rectangle*r1=newRectangle(10,10,20,20);

r1->

Show();

deleter1;

(Left,Top)=(10,10)

(Right,Bottom)=(20,20)

Diagonal=14.1421

三、类的继承

(1)定义描述职工档案的类Archives,私有数据成员为职工号(No)、姓名(Name[8])、性别(Sex)、年龄(Age)。

成员函数有:

构造函数、显示职工信息的函数Show()。

再由职工档案类派生出职工工资类Laborage,在职工工资类Laborage中新增数据成员:

应发工资(SSalary)、社保金(Security)、实发工资(Fsalary),其成员函数有:

构造函数,计算实发工资的函数Count(),计算公式为:

实发工资=应发工资-社保金。

显示职工档案及工资的函数Display()。

在主函数中用Laborage类定义职工对象lab,并赋初始值(1001,”Cheng”,’M’,21,2000,100),然后显示职工档案与工资。

(2)定义描述矩形的类Rectangle,其数据成员为矩形的中心坐标(X,Y)、长(Length)与宽(Width)。

成员函数为计算矩形面积的函数Area()与构造函数。

再定义描述圆的类Circle,其数据成员为圆的中心坐标(X,Y)与半径R,其成员函数为构造函数。

再由矩形类与圆类多重派生出长方体类Cuboid,其数据成员为长方体的高(High)与体积(Volume)。

成员函数为:

构造函数,计算体积的函数Vol(),显示矩形坐标(X,Y)、长方体的长、宽、高与体积的函数Show()。

主函数中用长方体类定义长方体对象cub,并赋初始值(10,10,10,20,30,30,10,10),最后显示长方体的矩形坐标(X,Y)与长方体的长、宽、高与体积。

(3)定义个人信息类Person,其数据成员有姓名、性别、出生年月。

并以Person为基类定义一个学生的派生类Student,增加描述学生的信息:

班级、学号、专业、英语成绩和数学成绩。

再由基类Person定义一个职工的派生类Employee,增加描述职工的信息:

部门、职务、工资。

编写程序实现学生与职工信息的输入与输出。

classArchives

charSex;

intAge;

Archives(intn,charname[],chars,inta)

{No=n;

Sex=s;

Age=a;

voidShow(void)

No="

Name="

<

Sex="

Sex<

Age="

Age<

classLaborage:

publicArchives

floatSSalary,Security,Fsalary;

Laborage(intn,charname[],chars,inta,floatss,floatse):

Archives(n,name,s,a)

{SSalary=ss;

Security=se;

voidCount()

{

Fsalary=SSalary-Security;

voidDisplay(void)

{Show();

cout<

SSalary="

SSalary<

Security="

Security

<

Fsalary="

Fsalary<

{Laboragelab(1001,"

Zhou"

'

M'

52,2000,200);

lab.Count();

lab.Display();

No=1001Name=ZhouSex=MAge=52

SSalary=2000Security=200Fsalary=1800

#definePI3.14159

classRectangle//定义一个长方体类

floatLength,Width;

floatCenterx,Centery;

Rectangle(floatl,floatw,floatx,floaty)

{Length=l;

Width=w;

Centerx=x;

Centery=y;

floatArea(void)

{returnLength*Width;

classCircle//定义一个圆形类

floatradius;

Circle(floatr,floatx,floaty)

{radius=r;

doubleArea(void)

{returnradius*radius*PI;

classCuboid:

publicRectangle,publicCircle//由基类Rectangle、Circle派生出类Cuboid

floatHigh;

doubleRVolume,CVolume;

Cuboid(floatl,floatw,floatx1,floaty1,floatr,floatx2,floaty2,floath):

Rectangle(l,w,x1,y1),Circle(r,x2,y2)

{High=h;

voidVol(void)//分别计算长方体和圆柱体的体积

{RVolume=Rectangle:

:

Area()*High;

CVolume=Circle:

voidShow(void)//分别显示长方体和圆柱体的信息

Length="

Length<

Width="

Width<

High="

High<

RectangleCentercoordinate="

Rectangle:

Centerx<

Centery<

Vol();

CuboidVolume="

RVolume<

Radius="

radius<

CircleCentercoordinate="

Circle:

CylinderVolume="

CVolume<

voidmain(void)

{Cuboidcub(10,10,10,20,30,30,10,10);

cub.Show();

Length=10Width=10High=10

RectangleCentercoordinate=10,20

RectangleVolume=1000

Radius=30High=10

CircleCentercoordinate=30,10

CircleVolume=28274.3

classPerson

charBirth[10];

Person()

{}

Person(charname[],charsex,charbirth[])

{strcpy(Name,name);

Sex=sex;

strcpy(Birth,birth);

voidShow()

Birth<

classStudent:

publicPerson

charSclass[10];

charMajor[10];

floatEng,Math;

Student():

Person()

Student(charname[],charsex,charbirth[],charsclass[],intno,charmajor[],floateng,floatmath):

Person(name,sex,birth)

{strcpy(Sclass,sclass);

No=no;

strcpy(Major,major);

Eng=eng;

voidPrint()

{Person:

Sclass<

Major<

Eng<

classEmployee:

charDepartment[10];

charTitle[10];

floatSalary;

Employee():

Employee(charname[],charsex,charbirth[],chardepartment[10],chartitle[10],

floatsalary):

Person(name,sex,birth)

{strcpy(Department,department);

strcpy(Title,title);

Salary=salary;

Department<

Title<

Salary<

{intno;

charname[8],sex,birth[10],major[10],class1[10],depa[10],title[10];

floateng,math,salary;

Student*s;

Employee*e;

Inputastudentdata"

sex>

birth>

class1>

major>

eng>

math;

s=newStudent(name,sex,birth,class1,no,major,eng,math);

Thestudentinformation:

\n"

s->

Print();

Inputanemployeedata"

depa>

title>

salary;

e=newEmployee(name,sex,birth,depa,title,salary);

Theemployeeinformation:

e->

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1