国家开放大学电大考试《数据结构》课程实验报告_第1页
国家开放大学电大考试《数据结构》课程实验报告_第2页
国家开放大学电大考试《数据结构》课程实验报告_第3页
国家开放大学电大考试《数据结构》课程实验报告_第4页
国家开放大学电大考试《数据结构》课程实验报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程实验报告一线性表1、线性表的链式存储结构【问题描述】某顼比赛中,评委们给某参赛者的评分信息存储在一个带头结点的单向链表中,编写程序:(1) 显示在评分中给岀最高分和最低分的评委的有关信息(姓名、年龄、所给分数等)。(2) 在链表中删除一个最高分和一个最低分的结点。(3) 计算该参赛者去掉一个最高分和一个最低分后的平均成绩。【基本要求】(1) 建立一个评委打分的单向链表;(2) 显示删除相关结点后的链表信息。(3) 显示要求的结果。【实验步骤】(1) 运行PC中的MicrosoftVisualC++6.0程序,(2) 点击“文件”一“新建”f对话窗口中“文件”-"c++SourceFile”一在“文件名”中输入“syl-l.cpp”一在“位置”中选择储存路径为“桌面”一“确定”,(3) 输入程序代码,程序代码如下^include^include^include^includettincludettdefineNUL0ttdefinePWRS5structpw:charname[6]:floatscore;intage;};typedefstructpwPW;structnode:structpwdata:structnode*next;};typedefstructnodeNODE;NODE*create(intm);intcalc(NODE*h);voidprint(NODE*h);voidinput(NODE*s);voidoutput(NODE*s);voidmain():、NODE*head;floatave=0;floatsum=0;head=create(PWRS);printfC所有评委打分信息如下:\n");print(head);calc(head);printff\n去掉1个最高分和1个最低分后的有效评委成绩如下:\n");print(head);}voidinput(NODE*s):printfC请输入评委的姓名:”);scanf(”%S",&s->http://www.wendangku.net/doc/9851b6a0f524ccbff1218455.html);printfC年龄:“);scanf&s->data.age);printfC打分:”);scanf("%f",&s->data.score);printfCXn");}voidoutput(NODE*s)printfC评委姓名:%8s,年龄:%d,打分:%2.2f\n",s->http://www.wendangku.net/doc/9851b6a0f524ccbff1218455.html,s~>data.age,s->data.score);(NODE*create(intm)NODE*head,*p,*q;inti;p=(NODE*)malloc(sizeof(NODE));head=p;q=P;p->next=NUL;for(i=l;i<=m;i++)p=(NODE*)malloc(sizeof(NODE));input(p);p->next=NUL;q->next=p;q=P;}return(head);}voidprint(NODE*h)inti;for(i=l;i〈=PWRS&&h->next!=NUL;i++):、h=h->next;output(h);intcalc(NODE*h)NODE*q,*p,*pmin,*pmax;floatsum=0;floatave=0;p=h~>next;pmin=pmax=p;//设置初始值sum+=p->data.score;p=p->next;for(:p!=NUL;p=p->next)iif(p->data.score>pmax->data.score)pmax=p;if(p->data.scoredata,score)pmin=p;sum+=p->data.score;}printff给出最高分的评委姓名:%s年龄:%d分值:%f",pmax->http://ww.wendangku.net/doc/9851b6a0f524ccbff1218455.html,pmax->data.age,pmax->data.score);printf("\n〃);printfC给出最低分的评委姓名:%s年龄:%d分值:%f",pmin->http://ww.wendangku.net/doc/9851b6a0f524ccbff1218455.html,pmin~>data.age,pmin-〉data,score);printf("\n\n");sum-=pmin->data.score;sum-=pmax->data.score;for(q=h,p=h->next;p!=NUL;q=p,p=p->next)if(p~pmin){q->next=p->next;p=q;}if(p==pmax){q->next=p->next;p=q;}}ave=sum/(PWRS-2);printfC该选手的最后得分是:%f”,ave);return1;}运行结果如下:c'C:\firoO»S\syste«32\c»d.exe入评委的姓名:e秘评委的姓名:d齢:40分:8籁入评委的姓名:b龄:33分:8,评委的姓名:c25如abC息信«•■ .二■二■二■■■入评委的姓名:e秘评委的姓名:d齢:40分:8籁入评委的姓名:b龄:33分:8,评委的姓名:c25如abC息信«•■ .二■二■二■■■.■一下 00000000000.■■.■露露耋繼携,籍讒岩麗標8.333333后的:33:40:35.打分:9.00{平委成绩如下-8.00>:8.00Presscontinue2、线性表的顺序存储结构【问题描述】用顺序表A记录学生的信息,编写程序:(1)将A表分解成两个顺序表B和C,使C表中含原A表中性别为男性的学生,B表中含原表中性别为女性的学生,要求学生的次序与原A表中相同。(2)分别求男生和女生的平均年龄【基本要求】(1) 建立学生信息的顺序表A。(2) 显示B表和C表中的相关信息。(3) 显示计算结果。【实验步骤;】(1)运行PC中的MicrosoftVisualC++6.0程序,(2)点击“文件”一“新建”f对话窗口中“文件”-“c++SourceFile"―在“文件名”中输入“syl-2.cpp”一在“位置”中选择储存路径为“桌面”一“确定",(3)输入程序代码,程序代码如下:^include"stdio.h"^include"stdlib.h"^include"malloc.h”^include"iostream,h”ttincludecomo.h^include"string,h”structstudent{charname[8]:intsex;//0女:1:男intage;};typedefstructstudentSTD;intcreate(STD*m);intcalc(STD*m,STD*n,STD*r,float&Fage,float&Mage);voidprint(STD*m);constintMAX=100;〃定义人数voidmainO(STDA[MAX];STDB[MAX];STDC[MAX];floatage1=0,age2=0;//agel男age2女create(A);printff学生总表A记录如下:\n〃);print(A);calc(A,B,C,agel,age2);printfC\n\n女生名册B记录如下:\n");print(B);printf(*\n男生名册C记录如下:\n");print(C);}intcreate(STD*m)iintn;printf("请输入班级总人数:”);scanf(“%d",&n);m[0].age=n;//置顺序表长度printfC请输入学生信息:\n\n");inti;for(i=l;i<=n;i++)printfC第%d位学生信息:\n”,i);printfC姓名:〃);scanf&m[i].name);printfC性别0女1男:");scanf&m[i].sex);printfC年龄:”);scanf("%d”,&m[i].age);printf("\n");}return1:}intcalc(STD*m,STD*n,STD*r,float&Fage,float&Mage):inti,j=l,k=l;n[0].age=r[0].age=0;for(i=l;i<=m[0].age;i++)if(m[i].sex==0)(strcpy(n[j].name,m[i].name);n[j].sex=m[i].sex;n[j].age=m[i].age;n[0].age++;Mage+=m[i].age:j++;}else:strcpy(r[k].name,m[i].name);r[k].sex=m[i].sex;r[k].age=m[i].age;r[0].age++;Eage+=m[i].age;k++;}}Mage=Mage/n[0].age;Fage=Fage/r[0].age;printfC女生的平均年龄是:%f,男生的平均年龄是:%fMage,Fage);return1:}voidprint(STD*m)(for(inti=l:i<=m[0].age;i++):printf("姓名:%3s,性别(0女1男):%d,年龄:%d\n”,m[i].name,m[i].sex,m[i].age);运行结果如下:

:24龄龄龄龄龄-■■■C.■二一■■■■■■a525*JT10:21:24駐是年均平的:24龄龄龄龄龄-■■■C.■二一■■■■■■a525*JT10:21:24駐是年均平的3、实验结论实验结论:线性表采用链式存储(链表)时:以结构变量存储结点,动态生成结点,以指针链接结点,能有效利用存储空间,插入删除方便,但不能随机访问.单向链表可从某结点访问到后继结点。单向链表操作的关键步骤:建立链表的头插法:指针变量P开辟单元,生成结点,指针变量q始终指向头结点,操作为:p->next=q->next;q->next=p;尾插法:指针变量q始终指向尾结点,p指针开辟单元,生成结点:q->next=p;q=p;?插入:p所指向结点的后面插入新结点s所指结点s->next=p->next;p->next=s;?删除:p,q指向相邻结点,q所指结点是p所指结点的后继,删除q所指结点,p->next=q->next;?遍历:p=p->next;国家开放大学(中央广播电视大学)《国家开放大学学习指南》课程教学大纲第一部分大纲说明一、课程性质与任务《国家开放大学学习指南》是国家开放大学(中央广播电视大学)在本、专、一村一所有专业的一年级第一学期开设的、起到基锚导学作用的一门统设必修课。课程任务是:以完成学习任务的过程为导向,从学习者如何完成国家开放大学规定的专业学习任务的角度,让学习者学会如何完成一门课程的学习、一个专业的学习,同时描述国家开放大学基本的学习方式,说明国家开放大学的学习环境,解释国家开放大学学习平台上基本术语的涵义,使学生能使用学习平台的基本工具辅助完成学习活动,并且了解国家开放大学学生相关事务与管理规定。使学生初步具备利用现代远程技术在国家开放大学进行学习的能力。二、 先修课要求无三、 课程的教学要求理解国家开放大学课程、专业平台,熟练基本的远程技术学习操作技能,掌握远程学习的学习方法,较好利用国家开放大学资源和学习支持服务。四、 课程的教学方法和教学形式建议本课程的特点是:网络课程完善、课程内容新、课程形式丰富、实践性强、涉及面广,因此建议通过网络,在计算机教室(或计算机多媒体教室)进行授课、答疑和讨论。讲授与实践统一考虑。为加强和落实动手能力的培养,应保证上机机时不少于本教学大纲规定的学时。对于重要概念、关键技能和方法等问题可辅以网上答疑讨论的形式。五、 教学要求的层次课程的教学要求大体上分为三个层次:了解、理解和掌握。了解:能正确判别有关概念和方法。理解:能正确表达有关概念和方法的含义。掌握:在理解的基础上加以灵活应用。第二部分教学媒体与教学过程建议一、 课程教学总学时数、学分数课程教学总学时数为18学时,1学分。其中网络课程为13学时,课堂练习和实验为5学时。二、 课程呈现方式课程以网络课程为主,这是学生学习的主要媒体形式,因比课程呈现方式以视频、动画为主,配以必要的文字说明,每段视频、动画不超过8分钟。视频以学习发生的场景为主,也可以是学生访谈,体现一定交互性。课程内容可以在手机、PAD、计算机、电视等多种终端上呈现。根据课程呈现方式,课程要做到只选取完成国家开放大学学习的必备知识,挨弃过多的理论知识,尽可能简捷。实用、方便、模块化设计,基于问题、案例形式呈现。概念清晰、条理分明、深入浅出、便于自学。在内容上要紧密围绕培养目标,突出重点、兼顾一般,反映当代最新技术及应用。三、 主要教学媒体的使用与学时分配章节序号教学内容网络课程学时课堂练习和实验学时1认识国家开放大学312完成专业学习313完成课程学习314网上学习操作技能215学生事务服务21135四、考核本课程采用上机操作的考核方式,100%国家开放大学考核。开放教育的学生应严格执行该课程的有关考核文件。第三部分教学内容和教学要求1、学习活动一:认识国家开放大学(3学时)【教学内容】:任务一走进国家开放大学(一) 基本介绍介绍国开的历史,办学模式,提供的学科门类等。(二) 案例导入由国家开放大学的学生讲述参加国家开放大学学习的体会与收获(由学生讲,把国家开放大学学习的特点和优势讲出来,包括学习时间、学习方式等等。)(三) 国家开放大学的学习环境在线学习平台;教师(教师群体与角色);学习者(个人角色与学习小组创建);学习资源(文字教材、录像、网络课程、流媒体资源、全媒体数字教材、小课件等);学习活动(网上教学活动、论坛讨论);支持服务(获得途径:面对面的服务、电话、短信、电子邮件、网上论坛、在线即时答疑系统);(四) 拓展内容报名渠道,获得学习资源,买书,有困难时候如何寻求帮助。任务二如何有效学习(一) 学习策略纸质学习和电子学习的认知策略;制定计划、自我监控与调节;学习时间管理、学习资源与环境利用、互动空间与手段(QQ群、课程论坛、学习空间)、学业求助策略。(二) 学习方式自学(自己阅读学习资源,做测试与练习);听讲(听看讲课视频或音频、面授);体验;探究;问题解决;任务三学前准备了解并完成一些学前准备工作,从学习方法、知识储备、计算机技能、学习环境等多方面了解自身的情况,为日后学习奠定基础。【教学要求】:•了解:国家开放大学的基本介绍,教学环境;•掌握:国家开放大学的学习策略与方式;•掌握:在国家开放大学进行学习的学前准备;2、学习活动二:完成专业学习(3学时)【教学内容】:任务一走进专业专业概况、专业培养方案及实施细则,专业学习的知识、能力要求。本专业师资队伍、学生概况、毕业生风釆。任务二专业学习过程和评价本专业的学习过程及主要环节该专业与社会证书或社会考试的接轨,学分互换等问题。任务三学位授予及其他申请学位相关要求。了解转专业、转学等相关政策。【教学要求】:了解:国家开放大学的专业概况及师生概况;•掌握:国家开放大学专业学习过程及主要环节了解:国家开放大学的学位授予资格、转学与转专业相关要求3、学习活动三:完成课程学习(3学时)【教学内容】:任务一选择课程通过学习风格测试、咨询学业顾问、体验课程学习,进一步明确个人的学习要求,找到自己需要学习的课程组合。1•搜索课程;2.了解课程;3.体验课程。任务二课程学习从国家开放大学学习指南课程入手,完成各学习任务,制定学习计划,并最终拿到国家开放大学学习指南课程的单科结业证书。1•浏览与订阅资源;参加面授辅导;完成作业;参加学习活动;参加考试;参加实践活动;.单科结业;.课程评价要求(如形考、终考、网考等具体要求)。拓展内容:非学历课程学习、面授安排、学习积分等。任务三互动与分享协作学习;知识分享;校友互助。【教学要求】:•了解:国家开放大学的课程及如何选择课程;•理解:如何协作学习、知识分享、校友互助;•掌握:如何取得国家开放大学的单科课程结业;4、学习活动四:网上学习操作技能(2学时)【教学内容】:任务一上网基本技能(-)基本网上技能打开特定网站(网址或链接);浏览网页、返回网页;使用搜索引擎;网上下载文件。(-)基本电子邮件技能电子邮箱的出现、注册电子邮箱2.收取、阅读电子邮件;发送电子邮件、上传附件。任务二网上学习操作(-)学习平台登陆与忘记密码栏目导航与页面布局;文本课件下载与浏览;视频在线观看与下载;提交作业;参与讨论。(-)学生空间任务三常用工具(-)浏览器1.IE;2.360;3-QQo(-)搜索引擎Google;Baidu;3.SogoUo(三) 下载及解压缩工具迅雷;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论