- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
中央广播电视大学实验报告 ( 学科 : 数据结构 )
姓名 单位 班级 学号 实验日期
成绩评定 教师签名 批改日期
实验名称 : 实验一 线性表
线性表的链式存储结构
【问题描述 】
某项比赛中 , 评委们给某参赛者的评分信息存储在一个带头结点的单向链表
中, 编写程序 :
(1) 显示在评分中给出最高分和最低分的评委的有关信息 ( 姓名、 年龄、 所
给分数等 ) 。
2) 在链表中删除一个最高分和一个最低分的结点。
3) 计算该参赛者去掉一个最高分和一个最低分后的平均成绩。
基本要求 】
1) 建立一个评委打分的单向链表;
2) 显示删除相关结点后的链表信息。
3) 显示要求的结果。
实验步骤 】
(1)
运行 PC中的 Microsoft Visual C++ 6.0
程序 ,
(2)
点击”文件”→”新建” →对话窗口中”文件”
→” c++ Source File ”
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
→在”文件名”中输入” X1.cpp ” →在”位置”中选择储存路径为”桌
面” →”确定” ,
3) 输入程序代码 ,
程序代码如下 :
#include stdio.h
#include stdlib.h
#include malloc.h
#include iostream.h
#include conio.h
#define NULL 0
#define PWRS 5 // 定义评委人数
struct pw // 定义评委信息
{ char name[6]; float score;
int age;
};
typedef struct pw PW;
struct node // 定义链表结点
{struct pw data;
struct node * next;
};
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
typedef struct node NODE;
NODE *create(int m); //
创立单链表
int calc(NODE *h); //
计算、 数据处理
void print(NODE *h); //
输出所有评委打分数据
void input(NODE *s);//
输入评委打分数据
void output(NODE *s);//
void main()
{
输出评委打分数据
NODE *head;
float ave=0;
float sum=0;
head=create(PWRS);
printf( 所有评委打分信息如下 :\n);
print(head);// 显示当前评委打分
calc(head);// 计算成绩
printf( 该选手去掉 1 最高分和 1 最低分后的有效评委成绩 :\n);
print(head);// 显示去掉极限分后的评委打分
}
void input(NODE *s)
{
printf( 请输入评委的姓名 : );
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
scanf(%S,s-data.name);
printf( 年龄 : );
scanf(%d,s-data.age);
printf( 打分 : );
scanf(%f,s-data.score);
printf(\n);
}
void output(NODE *s)
{
printf( 评 委 姓 名 : %8s , 年 龄 : %d, 打
: %2.2f\n,s-data.name,s-data.age,s-data.score);
}
NODE *create(int m)
{
NODE *head,*p,*q;
int i;
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);
}
void print(NODE *h)
{ for(int i=1;((i=PWRS)(h-next!=NULL));i++){
h=h-next;
output(h); }
printf(\n);
}
int calc(NODE *h)
{
NODE *q,*p,*pmin,*pmax;
float sum=0;
float ave=0;
p=h-next; // 指向首元结点
p
原创力文档


文档评论(0)