线性表的链式存储结构实验报告
实验一:线性表的链式存储结构
【问题描述】
某项比赛中,评委们给某参赛者的评分信息存储在一个带头结点的单向链表中,编写程序:
(1) 显示在评分中给出最高分和最低分的评委的有关信息(姓名、年龄、所给分数等)。
(2) 在链表中删除一个最高分和一个最低分的结点。
(3) 计算该参赛者去掉一个最高分和一个最低分后的平均成绩。
【基本要求】
(1) 建立一个评委打分的单向链表;
(2) 显示删除相关结点后的链表信息。
(3) 显示要求的结果。
【实验步骤;】
(1) 运行PC中的Microsoft Visual C++ 6.0程序,
(2) 点击“文件”→“新建” →对话窗口中“文件” →“c++ Source File” →在“文
件名”中输入“X1.cpp” →在“位置”中选择储存路径为“桌面” →“确定”,
(3) 输入程序代码,
程序代码如下:
head=create(PWRS);
printf("所有评委打分信息如下:\n");
print(head);//显示当前评委打分
calc(head);//计算成绩
printf("该选手去掉 1 最高分和 1 最低分后的有效评委成绩:\n");
print(head);//显示去掉极限分后的评委打分
}
void input(NODE *s) #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;
{
printf("请输入评委的姓名: ");
scanf("%S",&s->);
printf("年龄: ");
scanf("%d",&s->data.age);
printf("打分: ");
scanf("%f",&s->data.score);
printf("\n");
}
void output(NODE *s)
{
printf("评委姓名: %8s ,年分: %2.2f\n",s->,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;
龄: %d,打
}
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; //指向首元结点
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.score<pmin->data.score) pmin=p;
sum+=p->data.score;
}
cout<<"给出最高分的评委姓名:"<<pmax-><<"年龄:分值:"<<pmax->data.score<<endl;
cout<<"给出最低分的评委姓名:"<<pmin-><<"年龄:分值:"<<pmin->data.score<<endl;
printf("\n");
sum-=pmin->data.score;
sum-=pmax->data.score;
for (q=h,p=h->next;p!=NULL;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);
cout<<"该选手的最后得分是:"<<ave<<endl;
return 1;
}
实验结束。
"<<pmax->data.age<<" "<<pmin->data.age<<"
…… 此处隐藏:341字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




