完整word版编程题复习资料.docx

上传人:b****1 文档编号:62174 上传时间:2022-10-01 格式:DOCX 页数:17 大小:18.35KB
下载 相关 举报
完整word版编程题复习资料.docx_第1页
第1页 / 共17页
完整word版编程题复习资料.docx_第2页
第2页 / 共17页
完整word版编程题复习资料.docx_第3页
第3页 / 共17页
完整word版编程题复习资料.docx_第4页
第4页 / 共17页
完整word版编程题复习资料.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

完整word版编程题复习资料.docx

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

完整word版编程题复习资料.docx

完整word版编程题复习资料

一、函数的定义与调用

(1)分别用冒泡法(升序)、选择法(降序)、擂台法(升序)编写三个对一维数组进行排序的函数,函数名为sort1()、sort2()、sort3()。

再定义一个输出数组元素值的函数print()。

在主函数中定义一维整型数组a[N](N=10),用键盘输入10个整数给a[N]数组。

依次调用sort1()、print()、sort2()、print()、sort3()、print(),进行升序、降序、升序的操作,并输出每次排序后的结果。

输入十个实验数据:

10,25,90,80,70,35,65,40,55,5

(2)编写一个函数px(floatx,intn)用递归的方法求下列级数前n项的和s。

在主函数中定义变量x与n,用键盘输入x与n的值,调用px()函数计算并返回级数前n项和s。

最后输出s的值。

输入实验数据:

x=1.2n=10

解答参考

(1)

#include

#include

#defineN10

voidprint(inta[])

{inti;

for(i=0;i

cout<

cout<

}

voidsort1(inta[])

{inti,j,temp;

for(i=0;i

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[])

{inti,j,temp;

for(i=0;i

for(j=i+1;j

if(a[i]

{temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

voidsort3(inta[])

{

inti,j,k,temp;

for(i=0;i

{k=i;

for(j=i+1;j

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];

cout<<"请输入10个数:

"<

for(i=0;i<10;i++)

cin>>b[i];

sort1(b);

cout<<"输出排好序的10个数:

"<

print(b);

sort2(b);

cout<<"输出排好序的10个数:

"<

print(b);

sort3(b);

cout<<"输出排好序的10个数:

"<

print(b);

}

程序运行结果:

请输入10个数:

269115612532221419

输出排好序的10个数:

2569101114222532

输出排好序的10个数:

3225221411109652

输出排好序的10个数:

2569101114222532

(2)

①递归公式为:

x;n=1

px(n)=

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

②递归结束条件:

n=1

③递归约束条件:

n>1

#include

#include

voidmain(void)

{floatx;

intn;

floatpx(float,int);

cout<<"pleaseinputx,n:

";

cin>>x>>n;

cout<<"px="<

}

floatpx(floatx,intn)

{floatp;

if(n==1)

p=x;

else

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

returnp;

}

程序运行结果:

pleaseinputx,n:

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)

#include

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<

};

voidmain(void)

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

c1.Display();

c2.Display();

c3.Display();

}

程序运行结果:

10+20i

0+0i

10+20i

(2)

#include

#include

classScore

{private:

intNo;

charName[8];

floatMath,Phi,Data,Ave;

public:

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

{No=no;

strcpy(Name,name);

Math=math;

Phi=phi;

Data=data;

}

voidAverage(void)

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

voidDisplay()

{cout<

cout<

}

};

voidmain(void)

{inti,no;

charname[8];

floatmath,phi,data;

Scores[3];

cout<<"Input3studentdata"<<'\n';

for(i=0;i<3;i++)

{

cin>>no>>name>>math>>phi>>data;

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

s[i].Average();

}

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

for(i=0;i<3;i++)

s[i].Display();

}

程序运行结果:

Input3studentdata

1001Zhou807060

1002Chen908085

1003Wang707589

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

1001Zhou80706070

1002Chen90808585

1003Wang70758978

(3)

#include

#include

classRectangle

{protected:

floatLeft,Top;

floatRight,Bottom;

public:

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()

{cout<<"(Left,Top)=("<

cout<<"(Right,Bottom)=("<

cout<<"Diagonal="<

}

};

voidmain(void)

{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),其成员函数有:

构造函数,计算实

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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