1、iostream.hiomanip.h#define N 10 void print(int a) int i;for(i=0;iN;i+) coutsetw(5)ai;endl; void sort1( int a ) int i,j,temp;N-1; for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp; void sort2( int a ) for(i=0; for(j=i+1; j if (aiaj) k=j; if if (ki) temp=ai; ai=ak; ak=temp;void main(void) int i;int b10;: 10个
2、数潣瑵?请输入for(i=0;10;cinbi;sort1(b);输出排好序的print(b);sort2(b);sort3(b); 个数输出排好序的潣瑵?10print(b); 程序运行结果:个数请输入102 6 9 11 5 61 25 32 22 14 19 个数输出排好序的10 2 5 6 9 10 11 14 22 25 32 个数输出排好序的10 32 25 22 14 11 10 9 6 5 2 (2) 递归公式为: x ; n=1 px(n)= n-1n px(n-1)+(-1) x; n1 递归结束条件:递归约束条件:# include float x; int n; flo
3、at px(float,int); coutxn;px=px(x,n)float px(float x,int n) float p; if (n=1) p=x; else p=px(x,n-1)-pow(-1,n)*pow(x,n); return p;程序运行结果:2 4 px=-10 二、类与对象的定义与使用 (1)定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。用复数类定义复数对象c1、c2、c3,用默认构造函数将c1初始化为c1=20+40i ,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=20+40i。用公有成员函数Dispal
4、y()显示复数c1、c2与c3 的内容。(2)定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name8)、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。在主函数中用Score类定义学生成绩对象数组s3。用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。实验数据:No Name Math Phi Data Ave 1001 Zh
5、ou 80 70 60 1002 Chen 90 80 85 1003 Wang 70 75 89 (3)定义一个矩形类Rectangle,矩形的左上角(Left,Top)与右下角坐标(Right,Bottom)定义为保护数据成员。用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。然后调用Show()显示矩形左上角与右下角坐标及对 页眉内容角线长度。最后用delete运算符回收为矩形动态分配的存储空间。(1) class Complex pri
6、vate: float Real,Image; public: Complex(float r,float i) /定义有参构造函数 Real=r; Image=i; Complex(Complex &c) /定义拷贝构造函数 Real=c.Real; Image=c.Image;Complex() /定义无参构造函数 Real=0; Image=0; void Display() coutReal+Imageclass Score int No; char Name8; float Math,Phi,Data,Ave; void Write(int no,char name,float ma
7、th,float phi,float data) No=no; strcpy(Name,name); Math=math; Phi=phi; Data=data; void Average(void) Ave=(Math+Phi+Data)/3;NotNameMathPhiDataAve; int i,no; char name8; float math,phi,data; Score s3;Input 3 student datanamemathphidata; si.Write(no,name,math,phi,data); si.Average(); 潣瑵?学号 姓名 数学 物理 数据结
8、构 n; 平均分for (i=0;si.Display(); 程序运行结果:Input 3 student data 平均分 数据结构 学号姓名 数学物理1001 Zhou 80 70 60 70 1002 Chen 90 80 85 85 1003 Wang 70 75 89 78 (3) class Rectangle protected:float Left,Top; float Right,Bottom; Rectangle(float l,float t, float r,float b) Left=l;Top=t; Right=r;Bottom=b; Rectangle(Rectangle & R) Left=0;Top=0; Right=R.Right;Bottom=R.Bottom; double Diagonal() return sqrt(Left-Right)* (Left-Right)+(Top-Bottom)*(Top-Bottom); void Show() (Left,Top)=(Left,Top)(Right,Bottom)=(RightBottom Diagonal= Diagonal()Show(); delete r1;(Left
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1