1、 课程设计报告 设设 计计 题题 目:目: 运动会分数统计运动会分数统计 哈希表查找的设计哈希表查找的设计 【设计题目一】【设计题目一】 运动会分数统计 任务任务 参加运动会有 n个学校,学校编号为 1n。比赛分成 m个男子项目,和 w 个女子项目。项目编号为男子 1m,女子 m+1m+w。不同的项目取前五名 或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为: 5、3、2;哪些项目取前五名或前三名由学生自己设定。 (mitemi.item = i+1; strcpy(ai-itemi.item_name,“ “); ai-itemi.firstschool = NUL
2、L; for (int k = 1;kschool_num;k+) /初始化学校链表 as-schoolk.school = k; strcpy(as-schoolk.school_name,“ “); as-schoolk.firstitem = NULL; as-schoolk.shool_score = as-schoolk.boys_score = as-schoolk.girl_score = 0; as-school0.shool_score = as-school0.boys_score = as-school0.girl_score = 0; strcpy(as-school0
3、.school_name,“ “); void Item_Score(AllItems *ai,AllSchool *as,int x) /取三前名和前五名的项目 ItemNode *p; SchoolNode *q; int j,num,k; int m = 3,n = 5; char nameMAX; for (int i = 0;iitem_num;i+) printf(“nnt|-请输入第%d 个项目编号:“,i+1); scanf(“%d“, printf(“nnt|-请输入第%d 个项目名字:“,i+1); scanf(“%s“,ai-itemi.item_name); getch
4、ar(); printf(“nnt|-1.前三名t2.前五名n“); printf(“nnt|-请选择:“); scanf(“%d“, if(j!=1 scanf(“%d“, if (j = 1) k = 0;m = 3; do printf(“nnt|-请输入第%d 名学校编号:“,m); scanf(“%d“, printf(“nnt|-请输入第%d 名学校名字:“,m); scanf(“%s“,name); getchar(); q = (SchoolNode *)malloc(S_SIZE); q-school = num; strcpy(q-s_name,name); p = (It
5、emNode *)malloc(I_SIZE); p-item = ai-itemi.item; strcpy(p-i_name,ai-itemi.item_name); if(m=3) p-record=q-record = 2; if(m=2) p-record=q-record = 3; if(m=1) p-record=q-record = 5; q-next = ai-itemi.firstschool; ai-itemi.firstschool = q; p-next = as-schoolnum.firstitem; as-schoolnum.firstitem = p; strcpy(as-schoolnum.school_name,q-s_name); as-schoolnum.shool_score=as-schoolnum.shool_score+p-record;/累计总分 if(i+1schoolnum.boys_score+=p-record; /累计 男团体总分 else as-schoolnum.girl_score += p-record; /累计 女团体总分 m-; k+; if(k = as-sch