编程题复习资料Word文档下载推荐.docx
《编程题复习资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《编程题复习资料Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
iostream.h>
iomanip.h>
#defineN10
voidprint(inta[])
{inti;
for(i=0;
i<
N;
i++)
cout<
<
setw(5)<
a[i];
endl;
}
voidsort1(inta[])
{inti,j,temp;
N-1;
for(j=0;
j<
=N-1-i;
j++)
if(a[j]>
a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
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;
for(j=i+1;
(a[k]>
a[j])k=j;
if
if(k>
i)
{temp=a[i];
a[i]=a[k];
a[k]=temp;
voidmain(void)
inti;
intb[10];
:
10个数潣瑵?
请输入for(i=0;
10;
cin>
>
b[i];
sort1(b);
输出排好序的print(b);
sort2(b);
sort3(b);
个数输出排好序的潣瑵?
10print(b);
程序运行结果:
个数请输入10269115612532221419
个数输出排好序的102569101114222532
个数输出排好序的103225221411109652
(2)①递归公式为:
x;
n=1
px(n)=
n-1npx(n-1)+(-1)x;
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<
'
\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;
平均分for(i=0;
s[i].Display();
程序运行结果:
Input3studentdata
平均分数据结构学号姓名数学物理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