1、课程设计报告书课程设计报告书 设计题目设计题目一一: 运动会分数统计运动会分数统计 任务任务: 参加运动会有 n 个学校,学校编号为 1n。比赛分成 m 个男子项目,和 w 个女子 项目。 项目编号为男子 1m, 女子 m+1m+w。 不同的项目取前五名或前三名积分; 取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项 目取前五名或前三名由学生自己设定。 (m20|m=0) printf(“sorry the number is fault,please input again:“); scanf(“%d“, printf(“n“); printf(“请输入这%d
2、 个数据:“,m); for(i=0;im;i+) scanf(“%d“, for(i=0;im;i+) t=arrayi%p; /余数 t 为哈希地址 if(hashsizet=-1) /表示该位置为空,将数加到该位置上 hashsizet=arrayi; else /用开发地址法解决冲突 for(j=0;hashsizet!=-1;j+) t=(t+1)%20; hashsizet=arrayi; for(i=0;i20;i+) printf(“%-3d“,i); /输出右对齐 printf(“n“); for(i=0;i20;i+) if(hashsizei!=-1) printf(“%
3、-3d“,hashsizei); else printf(“ “); printf(“n“); for(k=1;k=1;) printf(“请输入你想要查找其地址的一个正整数:“); scanf(“%d“, printf(“您输入的数为%d“,c); printf(“n“); b=0; for(i=0;i20;i+) if(hashsizei=c) n=1; break; if(hashsizei!=c) n=0; b=b+1; if(n=1) printf(“您输入的数为%d.n“,c); printf(“它在哈希表的第%d 个位子上.“,b); else printf(“您输入的数不在哈希
4、表中,是否需要将其插入到表中n“); printf(“如果需要请输入 1,否则输入其他数字n“); scanf(“%d“, if(t2=1) if(m+f)=20) printf(“对不起,哈希表已满,您的数无法插入.“); else t=c%p; if(hashsizet=-1) hashsizet=c; else for(j=0;hashsizet!=-1;j+) t=(t+1)%20; hashsizet=c; for(i=0;i20;i+) printf(“%-3d“,i); printf(“n“); for(i=0;i20;i+) if(hashsizei!=-1) printf(“
5、%-3d“,hashsizei); else printf(“ “); printf(“n“); f=f+1; printf(“是否还要继续查询或插入,是则输入 1,否则输入其他数字:“); scanf(“%d“, 调试分析调试分析: 在输入一个在表中的数时,该程序将该数字在表中的位置显示出来,实现了哈希 表的查找功能。 在输入一个不在表中的数字时,该程序将其加到哈希表中,实现了哈希表的插入 功能。 用户手册用户手册: (1) 演示程序的运行环境为 Windows Vista 系统,Microsoft Visual Studio 6.0 中的 Microsoft Visual C+ 6.0 中运行。执行文件为:cpp1.exe 测试结果:测试结果: m=5,p=13 * *end* *