(完整word版)C语言课程设计----运动会分数统计系统源代码

上传人:s9****2 文档编号:469440497 上传时间:2023-06-15 格式:DOC 页数:8 大小:69.50KB
返回 下载 相关 举报
(完整word版)C语言课程设计----运动会分数统计系统源代码_第1页
第1页 / 共8页
(完整word版)C语言课程设计----运动会分数统计系统源代码_第2页
第2页 / 共8页
(完整word版)C语言课程设计----运动会分数统计系统源代码_第3页
第3页 / 共8页
(完整word版)C语言课程设计----运动会分数统计系统源代码_第4页
第4页 / 共8页
(完整word版)C语言课程设计----运动会分数统计系统源代码_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《(完整word版)C语言课程设计----运动会分数统计系统源代码》由会员分享,可在线阅读,更多相关《(完整word版)C语言课程设计----运动会分数统计系统源代码(8页珍藏版)》请在金锄头文库上搜索。

1、源代码:#include #include #include #include #define n 2/ 学校数目 #define m 1/ 男子项目数目 #define w 1/ 女子项目数目 #define null 0 typedef struct int itemnum; / 项目编号 int top; /取名次的数目 int range5; / 名次 int mark5; / 分数itemnode; /定义项目结点的类型typedef struct int schoolnum; /学校编号 int score;/学校总分int mscore; / 男团体总分 int wscore;

2、/ 女团体总分 itemnode cm+w;/项目数组headnode;/ 定义头结点类型headnode hn;/ 定义一个头结点数组void inputinformation() / 输入信息,建立系统 int i,j,k,s; for(i=0;in;i+) /初始化头结点/输入头结点信息hi.score=0; hi.mscore=0; hi.wscore=0; for(i=0;in;i+) printf(* 学校编号 :); scanf(%d,&hi.schoolnum); for(j=0;jm+w;j+) printf(* 项目编号 :);scanf(%d,&hi.cj.itemnum

3、);printf(* 取前 3 名 or 前 5 名 :); scanf(%d,&hi.cj.top);printf(* 获得几个名次: );scanf(%d,&k);/ 输入项目信息for(s=0;s5;s+)hi.cj.ranges=0, hi.cj.marks=0;/初始化排名和分数for(s=0;sk;s+)printf(* 名次 :);scanf(%d,&hi.cj.ranges);/ 输入所获名次信息if(hi.cj.top=3) switch(hi.cj.ranges)case 0: hi.cj.marks=0; break;case 1: hi.cj.marks=5; brea

4、k;case 2: hi.cj.marks=3; break;case 3: hi.cj.marks=2; break;elseswitch(hi.cj.ranges)case 0: hi.cj.marks=0; break;case 1: hi.cj.marks=7; break;case 2: hi.cj.marks=5; break;case 3: hi.cj.marks=3; break;case 4: hi.cj.marks=2; break;case 5: hi.cj.marks=1; break;hi.score=hi.score+hi.cj.marks;/按取前三名还是取前五名

5、分别记分 if(j=m-1)hi.mscore=hi.mscore+hi.cj.marks;/是男子项目则记到男子分数里面去elsehi.wscore=hi.wscore+hi.cj.marks;/是女子项目则记到女子项目里面去printf(n);void output()/输出函数int choice,i,j,k;int remembern;int sign;doprintf(*1.按学校编号输出.*n);printf(*2.按学校总分输出.*n);printf(*3.按男团总分输出.*n);printf(*4.按女团总分输出.*n);printf(nn*请选择编号*nnscanf(%d,&

6、choice); switch(choice)case 1:for(i=0;in;i+)printf(nn* 学校编号 :%dn,hi.schoolnum);printf(* 学校总分 :%dn ,hi.score); printf(* 男团总分 :%dn,hi.mscore); printf(* 女团总分 : %dnnn,hi.wscore);/ 按编号顺序输出break;case 2:for(i=0;in;i+)rememberi=i;for(i=0;in;i+)for(j=i+1;jn;j+) if(hrememberi.scorehj.score) k=rememberi; remem

7、beri=rememberj,rememberj=k; / 用冒泡排序方法,用辅助数组记住头结点下标 for(i=0;in;i+)printf(nn* 学校编号: %dn,hrememberi.schoolnum); printf(* 学校总分 :%dn ,hrememberi.score); printf(* 男团总分 :%dn,hrememberi.mscore); printf(* 女团总分 : %dnnn,hrememberi.wscore); /按所记下标顺序输出/ 按学校总分输出break;case 3:for(i=0;in;i+)rememberi=i;for(i=0;in;i+

8、) for(j=i+1;jn;j+) if(hrememberi.mscorehj.mscore) k=rememberi;rememberi=rememberj;rememberj=k;for(i=0;in;i+)printf(nn* 学校编号 :%dn,hrememberi.schoolnum); printf(* 学校总分 :%dn ,hrememberi.score); printf(* 男团总分 :%dn,hrememberi.mscore); printf(* 女团总分 : %dnnn,hrememberi.wscore); / 按男团总分输出 break;case 4:for(i

9、=0;in;i+)rememberi=i;for(i=0;in;i+)for(j=i+1;jn;j+)if(hrememberi.wscorehj.wscore) k=rememberi; rememberi=rememberj;rememberj=k;for(i=0;in)printf( 错误:这个学校没有参加此次运动会 !nnn);elseprintf( 要查询的项目编号 :);scanf(%d,&j);if(jm+w|j=0)printf( 此次运动会没有这个项目 nnn);/学校编号超出范围,则输出警告elseprintf( 这个项目取前 %d 名 ,该学校的成绩如下 :n, h0.c

10、j-1.top);for(k=0;km+w|s=0) printf( 此次运动会不包括这个项目 .nnn);/项目编号超出范围则输出警告elseprintf( 该项目取前 %d 名 ,取得名次的学校 n,h0.cs-1.top); for(i=0; in;i+)for(j=0;j5;j+)if(hi.cs-1.rangej!=0)printf( 学校编号 :%d, 名次 :%dn,hi.schoolnum, hi.cs-1.rangej); / 输出该项目取得名次学校的成绩 printf(nnn 继续 2,跳出 0n);scanf(%d,&i); printf(nnn);while(i=2); br

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号