东北大学数据结构运动会竞赛成绩统计实验报告.doc

上传人:peixunshi0 文档编号:32967 上传时间:2025-07-09 格式:DOC 页数:15 大小:209KB
下载 相关 举报
东北大学数据结构运动会竞赛成绩统计实验报告.doc_第1页
第1页 / 共15页
东北大学数据结构运动会竞赛成绩统计实验报告.doc_第2页
第2页 / 共15页
东北大学数据结构运动会竞赛成绩统计实验报告.doc_第3页
第3页 / 共15页
东北大学数据结构运动会竞赛成绩统计实验报告.doc_第4页
第4页 / 共15页
东北大学数据结构运动会竞赛成绩统计实验报告.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、数据结构实验报告 实验内容:运动会竞赛成绩统计数据结构实验报告一课题概述1二概要设计原理1三详细程序清单及注释说明2四运行与测试及结果7五本人编写函数11六心得体会13七参考文献13一、课题概述1.实验目的:线性表应用类实验题目参考2.实验内容:运动会竞赛成绩统计 【问题描述】东北大学第51届运动大会成功举行。共有N个学院的男女代表队参赛。大会共设M个男子项目和W个女子项目。大会即将闭幕,准备公布成绩。【实验要求】设计运动会竞赛成绩统计程序。(1)采用顺序表或链表等数据结构。(2)统计各代表队的男女总分和团体总分。(3)公布各单项成绩的前六名和团体成绩的前三名。 (4)可以查询成绩。二、概要设

2、计原理本程序主要采用了链表的存储结构,实现了对数据的存储,访问等操作。本程序实现了男子团体成绩、女子团体成绩、总成绩的输出。以及对个单项和团体成绩的前六名的输出。并实现了查找功能。程序主要分为四个函数:1. Zongfen()这个函数主要实现计算各学院的男子总分、女子总分、以及团体总分的计算以及存储操作。2. tuandui_paiming()此函数运用了排顺函数,实现了对团体总分的排序,以及前六名的输出。3. danxiang_paiming()此函数运用了排序函数,实现了对单项成绩的排名,以及对各个单项前六名的输出。4. chazhao()通过此函数,可以实现对各个学院的查找,并且显示出各

3、个学院的单项成绩,以及男子团体成绩、女子团体成绩 、总成绩的输出。5. main()6. 主函数,实现对所有函数的协调,并且执行了一些程序中相当关键的部分,对整个程序的执行以及正确的输出起到了很大的作用。7. zhujiemain()主界面函数,实现函数运行时界面的输出,以及对接下来操作的选择,是整个程序的关键部分。三、详细程序清单及注释说明#include#include#includetypedef struct xueyuanchar name10; /学院名称int Mdata5; /5个男子项目成绩int Wdata5; /5个女子项目成绩 int man; /男子项目总成绩 int

4、 woman; /女子项目总成绩 int total; /学院总成绩struct xueyuan *next;xueyuan,*Lxueyuan;Lxueyuan L;void zhujiemian();char Mname520; /5个男子项目名称char Wname520; /5个女子项目成绩char b910;int a9;char xueyuan_name9=信息,机械,软件,材冶,资土,外国语,文法,工管,理;int fenshu910=7,8,5,6,2,5,8,7,4,5, 5,6,8,7,4,5,2,1,3,5, 8,6,5,4,2,3,5,4,7,4, 8,5,4,7,1,

5、5,4,7,8,5, 7,5,4,6,5,8,6,9,5,6, 7,5,6,4,2,3,8,9,6,5, 7,5,4,2,6,9,8,5,6,1, 5,6,4,8,5,6,5,4,9,8, 8,5,4,2,6,8,9,6,5,8 ;void shuju() /数据处理int i,j;strcpy(Mname0,男子100米);strcpy(Mname1,男子110米栏);strcpy(Mname2,男子铅球);strcpy(Mname3,男子铁饼);strcpy(Mname4,男子体操);strcpy(Wname0,女子100米);strcpy(Wname1,女子100米栏);strcpy(W

6、name2,女子铅球);strcpy(Wname3,女子铁饼);strcpy(Wname4,女子体操);L=(Lxueyuan)malloc(sizeof(xueyuan);Lxueyuan p;L-next=NULL;for(i=0;iname,xueyuan_namei);for(j=0;jMdataj=fenshuij;for(j=0;jWdataj=fenshuij+5;p-next=L-next;L-next=p;void zongfen() /计算总分 以及输出int i;Lxueyuan p;p=L-next;printf(-各学院总分-n);printf(学院 男子总成绩 女子

7、总成绩 总成绩);for(i=0;iname);p-man=p-Mdata0+p-Mdata1+p-Mdata2+p-Mdata3+p-Mdata4;p-woman=p-Wdata0+p-Wdata1+p-Wdata2+p-Wdata3+p-Wdata4;p-total=p-Mdata0+p-Mdata1+p-Mdata2+p-Mdata3+p-Mdata4+p-Wdata0+p-Wdata1+p-Wdata2+p-Wdata3+p-Wdata4;printf(%dtt%dtt,p-man,p-woman);printf(%d,p-total);p=p-next;void paixu(int

8、a9,char b910)int i,j,k;char c10;for(i=0;i9;i+)for(j=0;j9-i;j+)if(ajnext; for(i=0;iman;strcpy(bi,p-name);p=p-next; paixu(a,b); printf(n男子项目t); for(i=0;inext; for(i=0;iwoman;strcpy(bi,p-name);p=p-next; paixu(a,b); printf(n女子项目t); for(i=0;inext; for(i=0;itotal;strcpy(bi,p-name); p=p-next; paixu(a,b); p

9、rintf(n总项目tt); for(i=0;i6;i+) printf(%st,bi); printf(n);zhujiemian();void danxiang_paiming()int i,j;printf(nnn-单项排名-n);printf( 学院 第一名 第二名 第三名 第四名 第五名 第六名 );Lxueyuan p;for(j=0;jnext;for(i=0;iMdataj;strcpy(bi,p-name); p=p-next; paixu(a,b); printf(n%st,Mnamej); for(i=0;i6;i+) printf(%st,bi); for(j=0;jn

10、ext;for(i=0;iWdataj;strcpy(bi,p-name); p=p-next; paixu(a,b); printf(n%st,Wnamej); for(i=0;inext;while(p)if(strcmp(p-name,abc)break;if(p=NULL)printf(您查找的学院不存在!n);elsefor(i=0;iMdatai);for(i=0;iWdatai);printf(男子总成绩:t%d分n,p-man);printf(女子总成绩:t%d分n,p-woman);printf(总成绩:t%d分n,p-total);zhujiemian();void zhu

11、jiemian() printf(-n - 1.总成绩及团体排名 -n - 2.单项排名 -n - 3.查找 -n - 其他.退出 -n -n);int choose;printf(请输入您的选择:);scanf(%d,&choose);switch(choose)case 1:zongfen();tuandui_paiming();break;case 2:danxiang_paiming();break;case 3:chazhao();break;default:exit(0);void main() /主函数shuju(); zhujiemian();四运行与测试及结果1.主界面2.各

12、学院总分3.团体总分4.单项排名5.查找信息-机械6.退出五本人编写函数#include#include#includetypedef struct xueyuanchar name10; /学院名称int Mdata5; /5个男子项目成绩int Wdata5; /5个女子项目成绩 int man; /男子项目总成绩 int woman; /女子项目总成绩 int total; /学院总成绩struct xueyuan *next;xueyuan,*Lxueyuan;Lxueyuan L;void zhujiemian();char Mname520; /5个男子项目名称char Wname

13、520; /5个女子项目成绩char b910;int a9;char xueyuan_name9=信息,机械,软件,材冶,资土,外国语,文法,工管,理;int fenshu910=7,8,5,6,2,5,8,7,4,5, 5,6,8,7,4,5,2,1,3,5, 8,6,5,4,2,3,5,4,7,4, 8,5,4,7,1,5,4,7,8,5, 7,5,4,6,5,8,6,9,5,6, 7,5,6,4,2,3,8,9,6,5, 7,5,4,2,6,9,8,5,6,1, 5,6,4,8,5,6,5,4,9,8, 8,5,4,2,6,8,9,6,5,8 ;void shuju() /数据处理in

14、t i,j;strcpy(Mname0,男子100米);strcpy(Mname1,男子110米栏);strcpy(Mname2,男子铅球);strcpy(Mname3,男子铁饼);strcpy(Mname4,男子体操);strcpy(Wname0,女子100米);strcpy(Wname1,女子100米栏);strcpy(Wname2,女子铅球);strcpy(Wname3,女子铁饼);strcpy(Wname4,女子体操);L=(Lxueyuan)malloc(sizeof(xueyuan);Lxueyuan p;L-next=NULL;for(i=0;iname,xueyuan_name

15、i);for(j=0;jMdataj=fenshuij;for(j=0;jWdataj=fenshuij+5;p-next=L-next;L-next=p;void zongfen() /计算总分 以及输出int i;Lxueyuan p;p=L-next;printf(-各学院总分-n);printf(学院 男子总成绩 女子总成绩 总成绩);for(i=0;iname);p-man=p-Mdata0+p-Mdata1+p-Mdata2+p-Mdata3+p-Mdata4;p-woman=p-Wdata0+p-Wdata1+p-Wdata2+p-Wdata3+p-Wdata4;p-total=

16、p-Mdata0+p-Mdata1+p-Mdata2+p-Mdata3+p-Mdata4+p-Wdata0+p-Wdata1+p-Wdata2+p-Wdata3+p-Wdata4;printf(%dtt%dtt,p-man,p-woman);printf(%d,p-total);p=p-next;void zhujiemian() printf(-n - 1.总成绩及团体排名 -n - 2.单项排名 -n - 3.查找 -n - 其他.退出 -n -n);int choose;printf(请输入您的选择:);scanf(%d,&choose);switch(choose)case 1:zongfen();tuandui_paiming();break;case 2:danxiang_paiming();break;case 3:chazhao();break;default:exit(0);void main() /主函数shuju(); zhujiemian();六心得体会通过这次的程序设计,使自己对链表的操作有了更进一步的了解。在程序设计中遇到了一些困难。在程序设计中,对一些函数的运用有了更进一步的了解。七参考文献数据结构(C语言版) 严蔚敏 清华大学出版社 数据结构教程上机实验指导 李春葆 清华大学出版社

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

当前位置:首页 > IT计算机 > 数据结构与算法

宁ICP备18001539号-1