- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运动会分数统计数据结构与算法课程设计报告
合肥学院
计算机科学与技术系
课程设计报告
2009 ~2010 学年第 2 学期
课程 数据结构与算法 课程设计名称 运动会分数统计 学生姓名 邓磊 学号 专业班级 08计科(2) 指导教师 王昆仑
2010 年 6 月
题目:运动会分数统计
一、课程设计目的
“数据结构与算法课程设计”是计算机科学与技术专业学生的集中实践性环节之一,是学习“数据结构与算法”理论和实验课程后进行的一次全面的综合练习。其目的是要达到理论与实际应用相结合,提高学生组织数据及编写程序的能力,使学生能够根据问题要求和数据对象的特性,学会数据组织的方法,把现实世界中的实际问题在计算机内部表示出来并用软件解决问题,培养良好的程序设计技能。
二、课程设计名称及内容
名称:运动会分数统计程序
内容:参加运动会的n个学校编号为1~n,比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。有些项目取前五名,得分依次为6,4,3,2,1;有些项目取前三名,得分依次为4,2,1。写一程序产生各学校的成绩单(包括各校所取得的每项成绩的项目号、成绩、姓名和得分)和团体总分报表(包括校号、男子团体总分、女子团体总分和团体总分)。基本要求:(1)可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号或名称、学校总分、男女团体总分排序输出;4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。5)数据存入文件并能随时查询Collage为系类型,在其中定义了系的名称xxname、男团体总分manscore、女团体总分womanscore、总分score、编号xnum及取得名次的人数student xiangmu【】和指针*next;这样运动员的信息基本上都已包含,由于此题目中输入数据比较麻烦我选择了文件读出和写入来实现功能(1),从文件中读取前三名或前五名的信息。功能二计算各学校总分,分别计算出男团体总分mzongfen()、女团体总分wzongfen()和总分zongfen(),然后在初始化collage时,分别把它们赋给manscore、womanscore和score。如果要查哪个学校的总分情况就直接调用这三个计算总分函数就可以了。要实现功能三,必须在功能一、二的基础上的,难点是要把collage和student信息交汇,融为一体。在程序中定义的两个全局变量collage xm和collage *L;分别被装入运动员的信息和学校信息。按编号排序时,其思想是把第一个学校的编号与第二个学校的编号相比如果大于则不做任何操作,否则交换,在和第三个比操作同上,直到最后一个;然后再用第二个学校的编号分别与三、四…直到最后一个,这样循环。其实现代码如下:
void numordernode(){ // 按系的编号排序
collage *p,*q,*t,*pq,*pn;
t=L; //记录表头
for(p=t-next ,q=p-next;p-next ;t=t-next ,p=p-next ){
for(pq=p,q=p-next ;q;q=q-next ){
//
if(p-xnum q-xnum ){
t-next =q;
pn=p-next ;
p-next =q-next ;
if(pn==q){ //当p和q相邻时
q-next =p;
}
else{ // 当p和q不相邻时
q-next =pn;
pq-next =p;
}
p=t-next ; // 指针后移
q=pq-next ;
}
pq=q; //pq指向q
if(!q) //如果q 为空 跳出
break;
}
}
}
功能四查询某个学校某个项目的情况,用普通查找,用两个控制语句即可。按项目号查询前三或前五名的情况,只需一个控制语句就可以了。其代码如下:
void findsx(char sch[],char schxm[]){ //输入系名,和项目名查找运动员信息
int i=0,flag=0;
for(;i42;i++)
if(strcmp(xm.xiangmu[i].sclass,sch)==0strcmp(xm.xiangmu[i].xname,sch
文档评论(0)