欢迎来到天天文库
浏览记录
ID:47348997
大小:150.00 KB
页数:7页
时间:2019-09-07
《(中央电大)数据结构实验报告1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中央广播电视大学实验报告(学科:数据结构)姓名单位班级学号实验日期成绩评定教师签名批改日期实验名称:实验一线性表线性表的链式存储结构【问题描述】某项比赛中,评委们给某参赛者的评分信息存储在一个带头结点的单向链表中,编写程序:(1)显示在评分中给出最高分和最低分的评委的有关信息(姓名、年龄、所给分数等)。(2)在链表中删除一个最高分和一个最低分的结点。(3)计算该参赛者去掉一个最高分和一个最低分后的平均成绩。【基本要求】(1)建立一个评委打分的单向链表;(2)显示删除相关结点后的链表信息。(3)显示要求的结果。【实验步骤】(1)运行PC中的MicrosoftVisualC++6
2、.0程序,(2)点击“文件”→“新建”→对话窗口中“文件”→“c++SourceFile”→在“文件名”中输入“X1.cpp”→在“位置”中选择储存路径为“桌面”→“确定”,(3)输入程序代码,程序代码如下:#include#include#include#include#include#defineNULL0#definePWRS5//定义评委人数structpw//定义评委信息{charname[6];floatscore;intage;};typedefstructpwP
3、W;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);printf("所有评委打分信息如下:
4、");print(head);//显示当前评委打分calc(head);//计算成绩printf("该选手去掉1最高分和1最低分后的有效评委成绩:");print(head);//显示去掉极限分后的评委打分}voidinput(NODE*s){printf("请输入评委的姓名:");scanf("%S",&s->data.name);printf("年龄:");scanf("%d",&s->data.age);printf("打分:");scanf("%f",&s->data.score);printf("");}voidoutput(NODE*s){printf
5、("评委姓名:%8s,年龄:%d,打分:%2.2f",s->data.name,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=NULL;for(i=1;i<=m;i++){p=(NODE*)malloc(sizeof(NODE));input(p);p->next=NULL;q->next=p;q=p;}return(head);}voidprint(NODE*h){for(inti=1;
6、((i<=PWRS)&&(h->next!=NULL));i++){h=h->next;output(h);}printf("");}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!=NULL;p=p->next){if(p->data.score>pmax->data.score)pmax=p;if(p->data.scoredata.sco
7、re)pmin=p;sum+=p->data.score;}cout<<"给出最高分的评委姓名:"<data.name<<"年龄:"<data.age<<"分值:"<data.score<data.name<<"年龄:"<data.age<<"分值:"<data.score<data.score;sum-=pm
此文档下载收益归作者所有