江苏科技大学 c++实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江苏科技大学

课程实践报告

设计题目:计算机程序设计实验(C++)

设计时间: 2016年10月3日至2016年10月4日学院:计算机科学与工程学院

专业班级:通信工程 41

学生姓名:周祯楠学号:

****:***

一、第三题

(一)题目:

3.建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。具体要求如下:

(1)私有数据成员。

○1float array[20]:一维整型数组。

○2int n:数组中元素的个数。

(2)公有成员函数

○1MOVE(float b[],int m):构造函数,初始化成员数据。

○2void average():输出平均值,并将数组中的元素按要求重新放置。

○3void print():输出一维数组。

(3)在主程序中用数据{,,3,,,,,,}对该类进行测试。

(二)源程序:

#include<>

class MOVE

{

float array[20];

int n;

public:

MOVE(float b[],int m);

void average();

void print();

};

MOVE::MOVE(float b[],int m)

{

int i;

n=m;

for(i=0;i

array[i]=b[i];

}

void MOVE::average()

{

int i,x;

float a = 0;

for(i=0;i

a+=array[i];

a/=n;

cout<<"平均值为:"<

○1this指针指向本身对象的数据成员,避免因数据名相同而造成的混乱。按题目要求,这一题只能用this指针加以区分。

2.相关算法:

○2求阶乘

○3求m^n。i < n即可,因为i = 1时,m=m*m,依此类推,i=n-1 时,算的就是

m^n

○4这个公式看起来比较繁琐,对应着公式调用相关函数写,不要弄错

四、第18题

(一)题目:

18.试建立一个类VAR,用于求n(n<=100)个数的均方差。均方差的计算公式为,其中平均值为

具体要求如下:

(1)私有成员数据。

○1double a[100]:用于存放输入的n个数。

○2int n:实际输入数的个数n。

(2)公有成员函数。

○1VAR(double x[], int n1):构造函数,初始化成员数据a和个数n。

○2double average(double x[], int n):求平均值,数组x具有n个元素。

○3void variance(double x[],int n):求均方差,数组x具有n个元素。

○4void show():输出求得的均方差。

(3)在主程序中定义一个对象test,对该类进行测试。

(二)源程序:

#include<>

class VAR

{

double a[100];

int n;

public:

VAR(double x[],int n1);

double average(double x[],int n);

void variance(double x[],int n);

void show();

};

VAR::VAR(double x[],int n1)

{

for(int i = 0;i < n1;i++)

a[i] = x[i];

n = n1;

}

double VAR::average(double x[],int n)

{

double a = 0;

for(int i = 0;i < n;i++)

a += x[i];

a /=n;

return a;

}

void VAR::variance(double x[],int n) {

double d = 0; //○

1 for(int i = 0;i < n;i++)

d = (x[i] - average(x,n))*(x[i] - average(x,n)); d /= n;

cout<<"方差为:"<

void VAR::show() {

cout<<"平均值为:"<

void main() {

double x[100] = {16,18,25,23,56,14}; int n1 = 6;

VAR test(x,n1); (); }

(三)运行结果:

(四)基本分析: 1.需要注意:

1方差d 最好定义成double 型 2.此题不难,按照题目要求“堆”程序即可,没有复杂的算法,也没有特殊的结构。

五、第二十题 (一)题目:

,实现对方阵进行逆时针90度旋转。如图所示。 1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

具体要求如下:

(1)私有数据成员

1int a[4][4]:用于存放方阵。 (2)公有成员函数

1Array (int a1[][4],int n) :构造函数,用给定的参数a1初始化数据成员a 。

○2void xuanzhuan ( ) :实现对方阵a 进行逆时针90度的旋转。 ○

3void show( ) :在屏幕上显示数组元素。 4 8 12 16 3 7 11 15 2 6 10 14 1 5 9 13

相关文档
最新文档