实验报告5.docx

上传人:b****0 文档编号:18411621 上传时间:2023-08-16 格式:DOCX 页数:14 大小:122.42KB
下载 相关 举报
实验报告5.docx_第1页
第1页 / 共14页
实验报告5.docx_第2页
第2页 / 共14页
实验报告5.docx_第3页
第3页 / 共14页
实验报告5.docx_第4页
第4页 / 共14页
实验报告5.docx_第5页
第5页 / 共14页
实验报告5.docx_第6页
第6页 / 共14页
实验报告5.docx_第7页
第7页 / 共14页
实验报告5.docx_第8页
第8页 / 共14页
实验报告5.docx_第9页
第9页 / 共14页
实验报告5.docx_第10页
第10页 / 共14页
实验报告5.docx_第11页
第11页 / 共14页
实验报告5.docx_第12页
第12页 / 共14页
实验报告5.docx_第13页
第13页 / 共14页
实验报告5.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验报告5.docx

《实验报告5.docx》由会员分享,可在线阅读,更多相关《实验报告5.docx(14页珍藏版)》请在冰点文库上搜索。

实验报告5.docx

实验报告5

电子科技大学通信学院

 

标准实验报告

 

(实验)课程名称软件技术基础

实验名称软件技术实验

学生姓名郭健煜

学号2015010913021

指导老师杨建军

实验地点科A508

实验时间16.11..09

 

电子科技大学教务处制表

一、实验室名称:

骨干与传输系统实验室

二、项目名称:

通信软件设计

三、实验学时:

20

四、设计目的:

主要内容

目标

1、软件技术基础基本技能训练

1、掌握设计软件平台的基本使用方法

2、掌握在设计软件平台上编写数据结构模块的方法

2、成绩表的基本操作设计

1、掌握顺序表的创建与查询算法的设计和程序实现方法

2、掌握顺序表的插入、删除操作的算法设计和程序实现方法

3、掌握链表的创建与遍历查询算法的设计和程序实现方法

4、掌握链表的插入、删除操作的算法设计和程序实现方法

5、掌握栈和队列的创建算法的设计和程序实现方法

6、掌握入栈和出栈操作、入队列和出队列操作的算法设计和程序实现方法

3、成绩表二叉树排序与过滤的设计

1、掌握二叉树的结构特点

2、掌握二叉排序树的创建算法和程序实现

3、掌握二叉树的遍历算法

4、了解利用二叉树构建过滤规则树的方法

5、学会应用过滤规则树对成绩表的表项进行过滤

4、成绩表的检索和排序设计

1、掌握顺序检索、二分检索和哈希检索的算法设计和程序实现

2、掌握简单插入排序、简单选择排序、冒泡排序和快速排序的算法设计和程序实现。

五、设计原理:

 

七、实验器材(设备、元器件):

计算机1台,实验软件一套,Windows系统,VC++6.0

八、测试步骤:

EX5_1

#include

#include

intbin_search(inttable[],intval);

intshunxu(intx,inttable[]);

intmain()

{inttable[8]={3,10,13,17,40,43,50,70};

printf("输º?

入¨?

所¨´需¨¨查¨¦找¨°的Ì?

关?

键¨¹字Á?

êo");

intx;

for(;;)

{scanf("%d",&x);

//shunxu(x,table);

erfen(x,table[]);

}

}

intbin_search(inttable[],intval)

{

intlow,mid,high;

low=0;

high=49;

printf("查¨¦找¨°过y程¨¬中D......\n");

while(low<=high&&val!

=-1)

{

mid=(low+high)/2;

if(val

{

printf("%d介¨¦于®¨²位?

置?

%d[%3d]和¨ª中D间?

值¦Ì%d[%3d],ê?

找¨°左Á¨®半ã?

边À?

\n",val,low+1,table[low],mid+1,table[mid]);

high=mid-1;

}

elseif(val>table[mid])

{

printf("%d介¨¦于®¨²中D间?

值¦Ì位?

置?

%d[%3d]和¨ª%d[%3d],ê?

找¨°右®¨°半ã?

边À?

\n",val,mid+1,table[mid],high+1,table[high]);

low=mid+1;

}

else

returnmid;

}

return-1;

}

interfen(intx,inttable[])

{

inti,j,val,num;

while

(1)

{

num=0;

val=x;

if(val==-1)

break;

num=bin_search(table,val);

if(num==-1)

printf("#####没?

有®D找¨°到Ì?

[%3d]#####\n",val);

else

printf("在¨²第̨²%2d个?

位?

置?

找¨°到Ì?

[%3d]\n",num+1,table[num]);

}

printf("数ºy据Y内¨²容¨Y:

êo\n");

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

{

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

printf("%3d-%-3d",i*10+j+1,table[i*10+j]);

printf("\n");

}

printf("\n");

system("pause");

return0;

}

shunxu(intx,inttable[])

{

inti,j,find,val=0,data[80]={0};

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

data[i]=(rand()%150+1);

while(val!

=-1)

{

find=0;

scanf("%d",&val);

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

{

if(data[i]==val)

{

printf("在¨²第̨²%3d个?

位?

置?

找¨°到Ì?

键¨¹值¦Ì[%3d]\n",i+1,data[i]);

find++;

}

}

if(find==0&&val!

=-1)

printf("######没?

有®D找¨°到Ì?

[%3d]######\n",val);

}

printf("数ºy据Y内¨²容¨Y:

êo\n");

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

{

for(j=0;j<8;j++)

printf("%2d[%3d]",i*8+j+1,data[i*8+j]);

printf("\n");

}

system("pause");

return0;

}

 

EX5_2

#include

#include

intxuanze(intdata[]);

intcharu(intdata[]);

intmaopao(intdata[]);

voidselect(intdata[]);

voidinser(intdata[]);

voidshowdata(intdata[]);

intmain()

{intdata[10]={513,87,512,61,908,170,897,275,653,462};

printf("数ºy组Á¨¦数ºy据Y为a:

êo\n");

inti=0;

for(;i<10;i++)

{printf("%d\n",data[i]);}

system("pause");

printf("简¨°单Ì£¤选?

择?

的Ì?

排?

序¨°结¨¢果?

为a:

êo");

xuanze(data);

printf("直¡À接¨®插?

入¨?

的Ì?

排?

序¨°结¨¢果?

为a:

êo");

charu(data);

printf("冒¡ã泡Y法¤¡§的Ì?

排?

序¨°结¨¢果?

为a:

êo");

maopao(data);

}

intxuanze(intdata[])

{

select(data);

printf("排?

序¨°后¨®数ºy据Y:

êo");

inti;

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

printf("%3d\n",data[i]);

printf("\n");

system("pause");

return0;

}

 

voidselect(intdata[])

{

inti,j,tmp;

for(i=0;i<9;i++)/*扫¦¡§描¨¨5次ä?

*/

{

for(j=i+1;j<10;j++)/*从䨮i+1比À¨¨较?

起e,ê?

比À¨¨较?

5次ä?

*/

{

if(data[i]>data[j])/*比À¨¨较?

第̨²i个?

和¨ª第̨²j个?

元a素?

*/

{

tmp=data[i];

data[i]=data[j];

data[j]=tmp;

}

}

}

printf("\n");

}

voidshowdata(intdata[])

{

inti;

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

printf("%3d\n",data[i]);/*打䨰印®?

数ºy组Á¨¦数ºy据Y*/

printf("\n");

}

voidinser(intdata[])

{

inti;/*i为a扫¦¡§描¨¨次ä?

数ºy*/

intno;/*以°?

j来¤¡ä定¡§位?

比À¨¨较?

的Ì?

元a素?

*/

inttmp;/*tmp用®?

来¤¡ä暂Y存ä?

数ºy据Y*/

for(i=1;i<10;i++)/*扫¦¡§描¨¨循-环¡¤次ä?

数ºy为aSIZE-1*/

{

tmp=data[i];

no=i-1;

while(no>=0&&tmp

果?

第̨²二t个?

元a素?

小?

于®¨²第̨²一°?

个?

元a素?

*/

{

data[no+1]=data[no];/*就¨ª把ã?

所¨´有®D元a素?

往ª¨´后¨®推ª?

一°?

个?

位?

置?

*/

no--;

}

data[no+1]=tmp;/*最Á?

小?

的Ì?

元a素?

放¤?

到Ì?

第̨²一°?

个?

元a素?

*/

}

}

intcharu(intdata[])

{

inser(data);

printf("排?

序¨°后¨®数ºy组Á¨¦是º?

êo");

showdata(data);

system("pause");

return0;

}

intmaopao(intdata[])

{inti,j,tmp;

for(i=9;i>0;i--)/*扫¦¡§描¨¨次ä?

数ºy*/

{

for(j=0;j

、¡é交?

换?

次ä?

数ºy*/

{

if(data[j]>data[j+1])/*比À¨¨较?

相¨¤邻¢¨²两¢?

数ºy,ê?

如¨?

第̨²一°?

个?

数ºy较?

大䨮则¨°交?

换?

*/

{

tmp=data[j];

data[j]=data[j+1];

data[j+1]=tmp;

}

}

//printf("第̨²%d次ä?

排?

序¨°后¨®的Ì?

结¨¢果?

是º?

êo",6-i);/*把ã?

各¡Â次ä?

扫¦¡§描¨¨后¨®的Ì?

结¨¢果?

输º?

出?

*/

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

//printf("%3d",data[j]);

printf("");

}

printf("排?

序¨°后¨®结¨¢果?

为a:

êo");

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

printf("%3d",data[i]);

printf("\n");

system("pause");

return0;

}

EX5_3

#include

#include

#defineSIZE8/*定¡§义°?

数ºy组Á¨¦大䨮小?

*/

voidinser(int*);/*声¦¨´明¡Â插?

入¨?

排?

序¨°法¤¡§子Á¨®程¨¬序¨°*/

voidshowdata(int*);/*声¦¨´明¡Â打䨰印®?

数ºy组Á¨¦子Á¨®程¨¬序¨°*/

intmain()

{

intdata[SIZE]={16,25,39,27,12,8,45,63};

printf("原-始º?

数ºy组Á¨¦是º?

êo");

showdata(data);

printf("\n");

inser(data);

printf("排?

序¨°后¨®数ºy组Á¨¦是º?

êo");

showdata(data);

system("pause");

return0;

}

voidshowdata(intdata[])

{

inti;

for(i=0;i

printf("%3d",data[i]);/*打䨰印®?

数ºy组Á¨¦数ºy据Y*/

printf("\n");

}

voidinser(intdata[])

{

inti;/*i为a扫¦¡§描¨¨次ä?

数ºy*/

intno;/*以°?

j来¤¡ä定¡§位?

比À¨¨较?

的Ì?

元a素?

*/

inttmp;/*tmp用®?

来¤¡ä暂Y存ä?

数ºy据Y*/

for(i=1;i

数ºy为aSIZE-1*/

{

tmp=data[i];

no=i-1;

while(no>=0&&tmp

果?

第̨²二t个?

元a素?

小?

于®¨²第̨²一°?

个?

元a素?

*/

{

data[no+1]=data[no];/*就¨ª把ã?

所¨´有®D元a素?

往ª¨´后¨®推ª?

一°?

个?

位?

置?

*/

no--;

}

data[no+1]=tmp;/*最Á?

小?

的Ì?

元a素?

放¤?

到Ì?

第̨²一°?

个?

元a素?

*/

}

}

 

九、测试数据及结果分析:

 

十、设计与测试结论:

程序可编译,功能得到实现

 

十一、总结及心得体会:

 

细心思考

 

对一些陌生函数的用法不熟练.

 

十二、对本实验过程及方法、手段的改进建议:

还可以通过一些手段优化

 

报告评分:

指导教师签字:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2