数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx

上传人:b****9 文档编号:13088873 上传时间:2022-10-04 格式:DOCX 页数:57 大小:271.13KB
下载 相关 举报
数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx_第1页
第1页 / 共57页
数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx_第2页
第2页 / 共57页
数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx_第3页
第3页 / 共57页
数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx_第4页
第4页 / 共57页
数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx

《数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx(57页珍藏版)》请在冰豆网上搜索。

数据结构实验指导书及答案(徐州工程学院)xWord文件下载.docx

2.每个输入前要有输入提示(如:

请输入2个整数当中用空格分割:

),每个输出数据都要求有内容说明(如:

280和100的和是:

380。

)。

3.函数名称和变量名称等用英文或英文简写(每个单词第一个字母大写)形式说明。

四、实验内容

1.在自己的U盘中建立“姓名+学号”文件夹,并在该文件夹中创建“实验1”文件夹(以后每次实验分别创建对应的文件夹),本次实验的所有程序和数据都要求存储到本文件夹中(以后实验都按照本次要求)。

2.编写一个输入某个学生10门课程成绩的函数(10门课程成绩放到结构体数组中,结构体包括:

课程编号,课程名称,课程成绩)。

3.编写一个求10门成绩中最高成绩的函数,输出最高成绩和对应的课程名称,如果有多个最高成绩,则每个最高成绩均输出。

4.编写一个求10门成绩平均成绩的函数。

5.编写函数求出比平均成绩高的所有课程及成绩。

#include<

stdio.h>

conio.h>

structsubject

{

intsubject_id;

charsubject_name[20];

doublesubject_grades;

};

structsubjectsub[10];

voidinput()

inti;

printf("

pleaseinput:

\n"

);

for(i=0;

i<

10;

i++)

scanf("

%d %s

%lf"

&

sub[i].subject_id,&

sub[i].subject_name,&

sub[i].subject_grades);

}

youjustinput:

3;

%lf\n"

sub[i].subject_id,sub[i].subject_name,sub[i].subject_grades);

voidsubject_max()

inti,flag;

doublemax=sub[0].subject_grades;

if(sub[i].subject_grades>

max)max=sub[i].subject_grades;

flag=i;

The high score of subject is %s

sub[flag].subject_name,max);

voidsubject_average()

doubleaverage,sum=sub[0].subject_grades;

for(i=1;

sum+=sub[i].subject_grades;

average=sum/10;

subject'

saverageis%lf\n"

average);

voidsubjct_gtaverage()

average)

flag=i;

subject greater than average is %s

sub[flag].subject_name,sub[flag].subject_grades);

intmain()

input();

subject_max();

subject_average();

subjct_gtaverage();

return0;

实验二顺序表的基本操作

1.熟练运用数组进行程序设计,掌握数组名和指针作为函数参数。

2.掌握结构体和结构体数组的访问与使用。

3.熟练实现顺序表类型和变量(如下所示)定于、熟悉顺序表的访问原理(顺序存储、随机访问)。

1.掌握顺序表的建立、数据元素的插入和删除、掌握数据元素的访问。

2.能够熟练的使用函数来实现顺序表的各种操作。

1.定义一顺序表类型,并定义顺序表。

2.将教材中顺序表的建立、初始化、插入、删除等函数实现。

3.顺序表能够存储10名学生的基本信息(包括姓名、学号和成绩)。

4.由主函数按照用户要求对各个顺序表操作访问。

5.每次操作之前要有明确的说明,操作后要输出操作结果。

6.分析顺序表的插入、删除、查找的时间和空间复杂度。

1.在自己的U盘的“姓名+学号”文件夹中创建“实验2”文件夹,本次实验的所有程序和数据都要求存储到本文件夹中。

2.完成顺序表操作的如下函数:

建立,初始化,增加,插入,删除。

#include"

stdio.h"

malloc.h"

#include"

string.h"

#defineLIST_INIT_SIZE1

#defineLISTINCREMENT1

structstu

{charname[6];

charnum[3];

intcj;

structsqlist

{structstu*elem;

intlength;

intlistsize;

voidmain()

{structsqlist*initlist_hc();

voidcshlist_hc(structsqlist*l);

voidlistinsert_hc(structsqlist*l);

voidlistdelete_hc(structsqlist*l);

voidlisthb_hc(structsqlist*l1,structsqlist*l2,structsqlist*l3);

structsqlist*l1,*l2,*l3;

charf;

inti,k=0;

请选择对顺序表的操作,操作菜单如下:

80;

i++)printf("

*"

建立顺序表(C)\n"

初始化顺序表(N)\n"

顺序表中插入元素(I)\n"

顺序表中删除元素(D)\n"

合并顺序表(H)\n"

退出系统(E)\n"

for(i=0;

do

{printf("

输入大写字母按Enter确定:

"

flushall();

f=getchar();

if(f=='

C'

{if(k==0)l1=initlist_hc();

else{l2=initlist_hc();

}k++;

elseif(f=='

N'

{if(k==1)cshlist_hc(l1);

elsecshlist_hc(l2);

}elseif(f=='

I'

{if(k==1)listinsert_hc(l1);

elselistinsert_hc(l2);

D'

{if(k==1)listdelete_hc(l1);

elselistdelete_hc(l2);

H'

{l3=initlist_hc();

listhb_hc(l1,l2,l3);

}while(f!

='

E'

}

structsqlist*initlist_hc()

{structsqlist*l;

l=(structsqlist*)malloc(sizeof(structsqlist));

if(!

l)printf("

出错!

return(l);

voidcshlist_hc(structsqlist*l)

{structstu*newbase;

voidprintlist_hc(structsqlist*l);

charx[6],y[3];

intz;

l->

elem=(structstu*)malloc(LIST_INIT_SIZE*sizeof(structstu));

if(!

l->

elem)printf("

length=0;

listsize=LIST_INIT_SIZE;

请输入信息以-1结束:

scanf("

%s%s%d"

x,y,&

z);

while(z!

=-1)

{if(l->

length==l->

listsize)

{newbase=(structstu*)realloc(l->

elem,(l->

listsize+LISTINCREMENT)*sizeof(structstu));

newbase)printf("

elem=newbase;

listsize+=LISTINCREMENT;

}strcpy(l->

elem[l->

length].name,x);

strcpy(l->

length].num,y);

l->

length].cj=z;

if(z!

=-1)l->

length++;

}printlist_hc(l);

voidlistinsert_hc(structsqlist*l)

{inti,j;

structstu*newbase;

if(l->

listsize+LISTINCR

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

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1