1、一、函数的定义与调用 (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(float x,int n)用递归的
2、方法求下列级数前n项的和s。
在主函数中定义变量x与n,用键盘输入x与n的值,调用px()函数计算并返回级数前n项和s。最后输出s的值。
输入实验数据:x=1.2 n=10
解答参考
(1)
#include 3、r(i=0;i 4、 }
}
void sort3( int a[] )
{
int i,j,k,temp;
for(i=0;i 5、rt1(b);
cout<<"输出排好序的10个数:"< 6、 11 10 9 6 5 2
输出排好序的10个数:
2 5 6 9 10 11 14 22 25 32
(2)
①递归公式为:
x ; n=1
px(n)=
px(n-1)+(-1)n-1xn ; n>1
②递归结束条件: n=1
③递归约束条件: n>1
# include 7、t x;
int n;
float px(float,int);
cout<<"please input x,n:";
cin>>x>>n;
cout<<"px="< 8、定义与使用
(1)定义一个复数类plex,复数的实部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(),能计算学生平均分的公有成员函数Averag 9、e(),能显示学生成绩的公有成员函数Display()。在主函数中用Score类定义学生成绩对象数组s[3]。用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。
实验数据:
No Name Math Phi Data Ave
1001 Zhou 80 70 60
1002 Chen 90 80 85
1003 Wang 70 75 89
(3)定义一个矩形类Rectangle,矩形的左上角(Left,Top)与右下角坐标(Right,Bo 10、ttom)定义为保护数据成员。用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。然后调用Show()显示矩形左上角与右下角坐标及对角线长度。最后用delete运算符回收为矩形动态分配的存储空间。
解答参考
(1)
# include 11、) //定义有参构造函数
{ Real=r;
Image=i;
}
plex(plex &c) //定义拷贝构造函数
{ Real=c.Real;
Image=c.Image;
}
plex() //定义无参构造函数
{ Real=0;
Image=0;
}
void Display()
{ cout< 12、< 13、h,Phi,Data,Ave;
public:
void Write(int no,char name[],float math,float phi,float data)
{ No=no;
strcpy(Name,name);
Math=math;
Phi=phi;
Data=data;
}
void Average(void)
{ Ave=(Math+Phi+Data)/3;}
void Disp 14、lay()
{ cout< 15、>>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();
}
程序运行结果:
Input 3 student data
1001 Zhou 80 70 60
1002 Chen 90 80 85
1003 Wang 70 75 89
学号 姓名 16、数学 物理 数据结构 平均分
1001 Zhou 80 70 60 70
1002 Chen 90 80 85 85
1003 Wang 70 75 89 78
(3)
# include 17、
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)+( 18、Top-Bottom)*(Top-Bottom));}
void Show()
{ cout<<"(Left,Top)=("< 26、oat Centerx,Centery;
public:
Rectangle(float l,float w,float x,float y)
{ Length=l;
Width=w;
Centerx=x;
Centery=y;
}
float Area(void)
{ return Length*Width;}
};
class Circle //定义一个圆形类
{ protected:
float radius;
float Centerx,Centery;
public: 27、
Circle(float r,float x,float y)
{ radius=r;
Centerx=x;
Centery=y;
}
double Area(void)
{ return radius*radius*PI;}
};
class Cuboid:public Rectangle,public Circle //由基类Rectangle、Circle派生出类Cuboid
{ private:
float High;
double RVolume,CVolume;
28、
public:
Cuboid(float l,float w,float x1,float y1,float r,float x2,float y2,float h):Rectangle(l,w,x1,y1),Circle(r,x2,y2)
{ High=h;}
void Vol(void) //分别计算长方体和圆柱体的体积
{ RVolume=Rectangle::Area()*High;
CVolume=Circle::Area()*High;
}
void Show(void) // 29、分别显示长方体和圆柱体的信息
{ cout<<"Length="<
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818