人人范文网 范文大全

数据结构基础实验1

发布时间:2020-03-03 12:45:06 来源:范文大全 收藏本文 下载本文 手机版

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

课程名称

数据结构基础

实验项目名称

实验一

熟悉Project组织应用程序

学生姓名

专业班级

学号

实验成绩

指导老师(签名 )

日期

一.实验目的和要求

1、熟悉VC6.0开发环境;使用Workspace和Project组织应用程序;

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

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

二.实验内容

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)。

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

设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.cpp及test1.h到Ftp服务器上( 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

if(x%i==0)break;

if(i>=x/2)

return 1;

else

return 0; }

6、对a进行从小到大的排序,并输出排序结果 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 9Pre any key to continue 五.心得体会

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

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

Test1_func.h int prime(int x)

////判断一个数是否是素数 {

}

int aMAX(int *a,int n) {

}

int aMIN(int *a,int n) int i,max; max=a[0]; for(i=0;i

} return max; if(max

if(x%i==0)break; if(i>=x/2) return 1; else return 0; {

}

int aAVE(int *a,int n) {

}

int prime_SUM(int *a, int n) { return ave; ave=sum/n; int i,sum=0,ave; for(i=0;i

} return min; if(min>a[i]) min=a[i];

} int i,sum=0; for(i=0;i

} return sum; if(prime(a[i])) sum=sum+a[i]; 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

} aver=sum/n; if(a[i]>max) max=a[i]; if(a[i]

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]

Test1_main.cpp }#include #include #include\"test1_func.h\" void main() {

} int a[10],i,max,min,ave; cout>\"%d\",&a[i]; cout

数据结构基础__实验总结

《数据结构》实验教学大纲

数据结构实验指导书

数据结构实验_177

数据结构实验2

数据结构实验教案

数据结构实验指导书

数据结构实验教案

《数据结构》实验指导书

《数据结构》实验指导书

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