数据结构基础实验1

发布时间:2018-04-14 20:32:22   来源:文档文库   
字号:

浙江大学城市学院实验报告

课程名称 数据结构基础

实验项目名称 实验 熟悉Project组织应用程序

学生姓名 专业班级 学号

实验成绩 指导老师(签名 日期

一. 实验目的和要求

1 熟悉VC6.0开发环境;使用WorkspaceProject组织应用程序;

2 回顾C语言程序设计,编写完整的实验应用程序, 并调试通过。

3 掌握文件包含,以及库函数iostream.h中的标准输入、输出流对象cincout理解“引用(&)”方式的参数传递。

二. 实验内容

1、 按下述介绍的方法,练习并掌握使用Project组织应用程序的方法。

步骤:

启动VC++,选择“文件(File)”菜单中的“新建(New)”项,选择“工程(Projects)页,然后选择“Win32 Console Application”,在右上角输入project的名称(如:test1),再选择合适的存储路径,然后按下“确定”按钮。这样就建立了一个新的工程。如下图所示:

在窗口左侧出现WorkSpace视图,选择“FileView”页可浏览该工程所包含的文件。然后可在项目中新建源文件(菜单:文件新建),包括“C/C++Header File”和“C/C++Source File”两类文件,或将已有的源文件加入到这个工程中(菜单:工程增加到工程)。如下图:

完成后程序组织结构如下图:

其中Source Fileste包含主程序等源程序文件(如:test1_main.cpp),Header Fileste包含头文件等(如:test1_function.h)。

2VC中建立工程(取名为test1),并编写如下程序加入到工程中,编译执行该程序。要求使用cincout进行数据的输入输出。

程序题目如下:

a为长度为n的整数型一维数组。

1)试编写求a中的最大值、最小值和平均值的函数。

分别用两种方法完成:

分别编写三个函数int aMAX(int *a,int n) int aMIN(int *a,int n) int aAVE(int *a,int n) 实现求最大值、最小值和平均值。

用一个函数void aMAX_MIN_AVE(int *a, int n, int &max, int &min, int &aver) 实现求上述三个值,用“引用参数”带回结果

2试编写函数 int prime_SUM(int *a, int n) 计算a中所有素数之和

3)编写函数 void aSORT(int *a,int n) a进行从小到大的排序,并输出排序结果。

要求:

把以上函数存放在头文件test1.h中,并自行设计主函数测试各类操作实现的正确性主函数存放在文件test1.cpp

3填写实验报告,实验报告文件取名为report1.doc

4上传实验报告文件report1.doc 源程序文件test1.cpptest1.hFtp服务器上 ftp://10.61.14.240:5000 自己的文件夹下。

. 函数的功能说明及算法思路

包括每个函数的功能说明,及一些重要函数的算法实现思路

1、求a中的最大值

int aMAX(int *a,int n)

{

int i,max;

max=a[0];

for(i=0;i

if(max

max=a[i];

}

return max;

}

2、求a中的最小值

int aMIN(int *a,int n)

{

int i,min=a[0];

for(i=0;i

if(min>a[i])

min=a[i];

}

return min;

}

3、求a中的平均值

int aAVE(int *a,int n)

{

int i,sum=0,ave;

for(i=0;i

sum=sum+a[i];

ave=sum/n;

return ave;

}

4用一个函数a中的最大值、最小值、平均值

void aMAX_MIN_AVE(int *a, int n, int &max, int &min, int &aver)

{

int sum,i;

sum=0;

max=a[0];

min=a[0];

aver=a[0];

for(i=0;i

if(a[i]>max) max=a[i];

if(a[i]

sum=sum+a[i];

}

aver=sum/n;

}

5计算a中所有素数之和

int prime_SUM(int *a, int n)

{

int i,sum=0;

for(i=0;i

if(prime(a[i]))

sum=sum+a[i];

}

return sum;

}

int prime(int x) //判断一个数是否是素数

{

int i;

for(i=2;i<(x/2);i++)

if(x%i==0)break;

if(i>=x/2)

return 1;

else

return 0;

}

6a进行从小到大的排序,并输出排序结果

void aSORT(int *a,int n)

{

int i, index,j,temp;

for(i=0;i

index=i;

for(j=i+1;j

if(a[j]

index=j;

temp=a[i];

a[i]=a[index];

a[index]=temp;

}

}

. 实验结果与分析

包括运行结果截图、结果分析

input data:0 1 2 3 4 5 6 7 8 9

max in a:9

min in a:0

ave in a:4

sum of prime:18

max in a:9

min in a:0

ave in a:4

the sort is:0 1 2 3 4 5 6 7 8 9Press any key to continue

. 心得体会

记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。

最开始编译时,总是有十几个错误,或是变量未定义,或是函数中有错误,在经过调试和与同学交流之后,终于解决了这些问题。这使我意识到自己在综合编程方面的不足,函数一多容易搞混,以后一定改正。

附录----源程序

Test1_func.h

int prime(int x) ////判断一个数是否是素数

{

int i;

for(i=2;i<(x/2);i++)

if(x%i==0)break;

if(i>=x/2)

return 1;

else

return 0;

}

int aMAX(int *a,int n)

{

int i,max;

max=a[0];

for(i=0;i

if(max

max=a[i];

}

return max;

}

int aMIN(int *a,int n)

{

int i,min=a[0];

for(i=0;i

if(min>a[i])

min=a[i];

}

return min;

}

int aAVE(int *a,int n)

{

int i,sum=0,ave;

for(i=0;i

sum=sum+a[i];

ave=sum/n;

return ave;

}

int prime_SUM(int *a, int n)

{

int i,sum=0;

for(i=0;i

if(prime(a[i]))

sum=sum+a[i];

}

return sum;

}

void aMAX_MIN_AVE(int *a, int n, int &max, int &min, int &aver)

{

int sum,i;

sum=0;

max=a[0];

min=a[0];

aver=a[0];

for(i=0;i

if(a[i]>max) max=a[i];

if(a[i]

sum=sum+a[i];

}

aver=sum/n;

}

void aSORT(int *a,int n)

{

int i, index,j,temp;

for(i=0;i

index=i;

for(j=i+1;j

if(a[j]

index=j;

temp=a[i];

a[i]=a[index];

a[index]=temp;

}

}

Test1_main.cpp

#include

#include

#include"test1_func.h"

void main()

{

int a[10],i,max,min,ave;

cout<<"input data:";

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

cin>>"%d",&a[i];

cout<<"max in a:"<

cout<<"min in a:"<

cout<<"ave in a:"<

cout<<"sum of prime:"<

aMAX_MIN_AVE(a,10,max,min,ave);

cout<<"max in a:"<

cout<<"min in a:"<

cout<<"ave in a:"<

aSORT(a,10);

cout<<"after sort:";

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

cout<<"the sort is:"<

}

本文来源:https://www.2haoxitong.net/k/doc/f6be0f0703d8ce2f00662339.html

《数据结构基础实验1.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式