数据结构试验_第1页
数据结构试验_第2页
数据结构试验_第3页
数据结构试验_第4页
数据结构试验_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、实验一线性表应用1、实验题目:运动会竞赛成绩统计(1)问题描述:东北大学第51届运动大会成功举行。共有N个学院的男女代表队参赛。大会共设M个男子项目和W个女子项目。大会即将闭幕,准备公布成绩。(2)课题任务:设计运动会竞赛成绩统计程序:1)采用表或链表等数据结构。2)统计各代表队的男女总分和团体总分。3)公布各单项成绩的前六名和团体成绩的前三名。4)可以查询成绩。2、概要设计:本程序主要采用了链表的存储结构,实现了对数据的存储,访问等操作。实现了男子项目成绩、女子项目成绩的输出,以及对各单项成绩的前六名的输出以及学院成绩前三名的输出。并实现了查找功能。3、详细设计:我设计的部分:通过对链表指针

2、成员的运用实现对链表中各个成员的逐个输出。voidprint(structresr10,structpro*head)(n=0;inti=1;intj=0;structpro*p1,*p2;structresrx;while(n<=5)(p1=head;p2=p1->next;/p2=p1->next;if(p1->pr=project(n)(for(i=1;i<7;i+)(p1=head;while(p1!=NULL)(if(p1->rank=i)(printf("得分%ld排名%ld姓名%s学院%ld性别%ld项目ldn",p1-&g

3、t;score,p1->rank,p1->name,p1->col,p1->s,p1->pr);i+;if(p1->next!=NULL)p2=p1->next;elsebreak;p1=p2;elsebreak;if(i=7)n+;else;for(i=0;i<9;i+)for(j=i+1;j<10;j+)if(ri.sco<rj.sco)rx=ri;ri=rj;rj=rx;j=0;printf("学院得分n");while(j<=2)intl;switch(rj.c)casec1:l=1;break;ca

4、sec2:l=2;break;casec3:l=3;break;casec4:l=4;break;casec5:l=5;break;casec6:l=6;break;casec7:l=7;break;casec8:l=8;break;casec9:l=9;break;casec10:l=10;break;)printf("collage=C%dscorce=%ldn",l,rj.sco);j+;)4、调试分析:在刚开始写程时对指针这部分稍有遗忘,还要重新看一遍教材,后边输出的部分进行的还是比较顺畅。5、使用说明:根据要求以此输入所有的“得分排名姓名性别编号学院编号项目编号”

5、等信息,得出各个项目的排名以及学院前三的排名;如对个人成绩信息进行查找,依照要求步骤按顺序进行,输入姓名,最后输出所要查找的人的全部信息。6.测试结果:C:Usersdell.dellPCQ00Deskt。pW文件夹新建文件夹8.exe晴依次输入:得分排名姓名性别编号学院编号项目编号目.目.目.目.目.目.就目目目目目甦目目目目目甦目目目目目寐目目目目目寐目目目目目寐目目目目目工项项项项项工项项项项项工项项项项项工项项项项项工项项项项项工项项项项项090120001200312005000724501240012899(兀(兀【兀【兀【兀(兀刖院院院院晶院院院院晶院院院院晶院院院院晶院院院院晶

6、院院院院院nniuvnniuvniuvnVIVIIL-iHVnniuvnniuv工另另另另另生另另另另另生另另另另另生另另另另另生另另另另另生另另另另另生生生生生生生生生生生生生生生生生生生生生生生生JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ坞名名名名名好名名名名名好名名名名名好名名名名名好名名名名名好名名名名名始姓姓姓姓姓剪姓姓姓姓姓剪姓姓姓姓姓剪姓姓姓姓姓剪姓姓姓姓姓剪姓姓姓姓姓5好名名名名名名名名0名名名名0名名名名0名名名名0洛咯咯咯咯C:Usersdell.dellPCQOODesktop文件夹新建文件夹8.exe5目目目处目目目目目9院院院院院-Q二二二二二二二二

7、二二项项项工项项项项项150144=S98765得9eec名名名名名名名45623456dafbcdef八院11学oHITmi-07651名名名蛀名名名名名姓姓姓处姓姓姓姓姓C:UsersdelLdellPC.000Deskt。p文件夹新建文件夹8.exe6J5455555胴目目目目目1页页页页页IIIII0015899(兀源院院院院院ti?0000000另生另另另另另生-生生生生JJJJJFbcdef蛀名名名名名加姓姓姓姓姓名名名名名UL1I8rr二r二r二r二rrruduJ土厂土厂土厂土厂土厂05198765.院11导导导导导导导羊:oe?i小目AE否是1.2.查期类别1.个人2.学院1请

8、输入姓名7.附录:nnnn目0<领0-0学学学000项5s9?院院骨一另另另4l±'ff-50144导导导导*于co灶错姓蜃性fl'a是此工查1.2.1洛名洛I0WI0161>殍3456一入院.1子源程序:#include<stdio.h>#include<stdlib.h>#defineLENsizeof(structpro)enumsexmale,female;enumcollegec1,c2,c3,c4,c5,c6,c7,c8,c9,c10;/*假设有10个学院*/enumprojectpr1,pr2,pr3,pr4,pr5,

9、pr6;/*假设男子女子共有6个项目*/intn;typedefstructprointscore;intrank;charname10;projectpr;sexs;collegecol;structpro*next;typedefstructresintsco;intscom;intscow;collegec;structpro*create()structpro*head;structpro*p1,*p2;ints1,d1,f1;n=0;p1=p2=(structpro*)malloc(LEN);printf("请依次输入:得分排名姓名性别编号学院编号项目编号n");

10、scanf("%ld%ld%s%ld%ld%ld",&p1->score,&p1->rank,&p1->name,&s1,&d1,&f1);p1->s=sex(s1);p1->col=college(d1);p1->pr=project(f1);head=NULL;while(p1->name0!='0')n=n+1;if(n=1)head=p1;elsep2->next=p1;p2=p1;p1=(structpro*)malloc(LEN);scanf(&quo

11、t;%ld%ld%s%ld%ld%ld",&p1->score,&p1->rank,&p1->name,&s1,&d1,&f1);p1->s=sex(s1);p1->col=college(d1);p1->pr=project(f1);p2->next=NULL;return(head);structressum(intsum,intsumm,intsumw,structpro*head,collegec)structresrx;structpro*p1,*p2;p1=head;if(p1-&g

12、t;col=c)sum+=p1->score;p2=p1->next;while(p1->next!=NULL)p2=p1->next;if(p2->col=c)sum+=p2->score;p1=p2;p1=head;if(p1->col=c&&p1->s=male)summ+=p1->score;while(p1->next!=NULL)(p2=p1->next;if(p2->col=c&&p2->s=male)summ+=p2->score;p1=p2;sumw=sum-s

13、umm;rx.sco=sum;rx.scom=summ;rx.scow=sumw;rx.c=c;returnrx;voidmaker(structpro*head,structresr口)(/structresrx;n=0;while(n<=9)(/*rx=rn;*/rn.c=college(n);rn.sco=0;rn.scom=0;rn.scow=0;rn=sum(rn.sco,rn.scom,rn.scow,head,rn.c);n+;voidprint(structresr10,structpro*head)(n=0;inti=1;intj=0;structpro*p1,*p2;

14、structresrx;while(n<=5)(p1=head;p2=p1->next;/p2=p1->next;if(p1->pr=project(n)(for(i=1;i<7;i+)(p1=head;while(p1!=NULL)(if(p1->rank=i)(printf("得分%ld排名%ld姓名s学院%ld性别%ld项目ldn",p1->score,p1->rank,p1->name,p1->col,p1->s,p1->pr);i+;if(p1->next!=NULL)p2=p1->

15、;next;elsebreak;p1=p2;elsebreak;if(i=7)n+;else;for(i=0;i<9;i+)(for(j=i+1;j<10;j+)(if(ri.sco<rj.sco)(rx=ri;ri=rj;rj=rx;j=0;printf("学院得分n");while(j<=2)(intl;switch(rj.c)(casec1:l=1;break;casec2:l=2;break;casec3:l=3;break;casec4:l=4;break;casec5:l=5;break;casec6:l=6;break;casec7:l

16、=7;break;casec8:l=8;break;casec9:l=9;break;casec10:l=10;break;)printf("collage=C%dscorce=%ldn",l,rj.sco);j+;)voidsearch1(chara,structpro*head)structpro*p1,*p2;p1=head;p2=p1->next;while(p1->next!=NULL)p2=p1->next;if(p2->name=a)printf("得分%ld排名%ld姓名s学院%ld性另U%ld项目%ldn",p2

17、->score,p2->rank,p2->name,p2->col,p2->s,p2->pr);p1=p2;voidsearch2(inta,structresr口)structresrx;n=0;rx=rn;while(n<=9)if(rx.c=college(a)printf("学院成绩为d,男子成绩为d,女子成绩为%d",rx.sco,rx.scom,rx.scow);break;elsen+;rx=rn;intmain()inta,b,d;charc10;structresr10;structpro*pt;pt=create();maker(pt,r);print(r,pt);printf("是否需要查询成绩?n1.是n0.否n");scanf("%d",&a);switch(

温馨提示

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

评论

0/150

提交评论