编程题复习资料 11页

  • 64.50 KB
  • 2022-07-30 发布

编程题复习资料

  • 11页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
一、函数的定义与调用(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#defineN10voidprint(inta[]){inti;for(i=0;ia[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}voidsort2(inta[]){inti,j,temp;for(i=0;ia[j])k=j;if(k>i){temp=a[i];a[i]=a[k];a[k]=temp;}}}voidmain(void){inti;intb[10];cout<<"请输入10个数:"<>b[i];sort1(b);cout<<"输出排好序的10个数:"<1\n②递归结束条件:n=1③递归约束条件:n>1#include#includevoidmain(void){floatx;intn;floatpx(float,int);cout<<"pleaseinputx,n:";cin>>x>>n;cout<<"px="<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<#includeclassScore{private:intNo;charName[8];floatMath,Phi,Data,Ave;public:voidWrite(intno,charname[],floatmath,floatphi,floatdata){No=no;\nstrcpy(Name,name);Math=math;Phi=phi;Data=data;}voidAverage(void){Ave=(Math+Phi+Data)/3;}voidDisplay(){cout<>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();}程序运行结果:Input3studentdata1001Zhou8070601002Chen9080851003Wang707589学号姓名数学物理数据结构平均分1001Zhou807060701002Chen908085851003Wang70758978(3)#include#includeclassRectangle{protected:floatLeft,Top;floatRight,Bottom;\npublic: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)=("<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\n为基类定义一个学生的派生类Student,增加描述学生的信息:班级、学号、专业、英语成绩和数学成绩。再由基类Person定义一个职工的派生类Employee,增加描述职工的信息:部门、职务、工资。编写程序实现学生与职工信息的输入与输出。解答参考(1)#include#includeclassArchives{private:intNo;charName[8];charSex;intAge;public:Archives(intn,charname[],chars,inta){No=n;strcpy(Name,name);Sex=s;Age=a;}voidShow(void){cout<<"No="<#definePI3.14159classRectangle//定义一个长方体类{protected:floatLength,Width;floatCenterx,Centery;public:Rectangle(floatl,floatw,floatx,floaty){Length=l;Width=w;Centerx=x;Centery=y;}floatArea(void){returnLength*Width;}};classCircle//定义一个圆形类{protected:floatradius;floatCenterx,Centery;public:Circle(floatr,floatx,floaty){radius=r;Centerx=x;Centery=y;}doubleArea(void){returnradius*radius*PI;}};classCuboid:publicRectangle,publicCircle//由基类Rectangle、Circle派生出类Cuboid{private:floatHigh;doubleRVolume,CVolume;public:\nCuboid(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::Area()*High;}voidShow(void)//分别显示长方体和圆柱体的信息{cout<<"Length="<#includeclassPerson{private:charName[8];charSex;charBirth[10];public:Person(){}Person(charname[],charsex,charbirth[]){strcpy(Name,name);\nSex=sex;strcpy(Birth,birth);}voidShow(){cout<>name>>sex>>birth>>class1>>no>>major>>eng>>math;s=newStudent(name,sex,birth,class1,no,major,eng,math);cout<<"Thestudentinformation:\n";s->Print();cout<<"Inputanemployeedata"<<'\n';cin>>name>>sex>>birth>>depa>>title>>salary;e=newEmployee(name,sex,birth,depa,title,salary);cout<<"Theemployeeinformation:\n";e->Print();}

相关文档