输入;
Default:{ clrscr(); /*清屏*/ printf(\输入错误,请重新选择\ }
3)提出问题:当同一项目中有同一学校的两个人时,便不能正确输出或者输出相同人名。
分析问题:由于同时有两个相同学校编号的人存在,系统在输出时,
不能确定那个是正确的,或者用后来的覆盖以前的。
解决问题:用for函数实现从开始到结尾的遍历。
(2).算法的效率及改进设想
时间复杂度的计算:数据初始录入中学校为O(b),项目为O(c),成绩的录入为O(a),统计函数调入内存函数为O(a+b+c),学校成绩统计为O((a+2)*b),项目统计为O((a+1)*c),按学校编号、按学校总成绩、男团和女团输出函数为O(b^2/2),查询某校某项目函数为O(c*b*5/2),查询某项目的信息为O(5*b*c/2)。
在整个设计过程中本组在存储方面曾存在一定的分歧,后根据大家对以后的操作的分析采用现在的存储结构。
在调用方面本组负责本块的人员先前采用递归的方法而出现了许多错误,经过大家的讨论决定采用现在的do…while语句。
改进设想:因大部分显示均是以学校为单位,所以将以由有关人的各种信息为集合的结构改为以由有关学校的各种信息为集合的结构。
在这次调试过程中遇到过一些问题,但经过我们不懈努力,解决了大部分。 比如说在运用数据结构排序的时候,方法的选择上,总是想用时间复杂度小的算法,但结果出了问题,最后还是用了我们熟悉的选择排序。
6.心得体会
在课程设计中,首先要看清问题,将问题要求理解透彻,在构思要
如何实现,要用到哪些函数,要用什么算法,在课程设计构思中选算法是一个很重要的概念。只有确定用什么算法后才能接下来的工作,将流程图画在纸上,再进行代码的编写。在程序设计中编写代码只是一个方面,调试才是关键,它是一个相当繁琐的过程。有许多新的问题需要被解决,但同时它也是个比较重要的过程,在调试中,你会学到很多新的东西,从而增加你编程能力和经验。 通过本次实习,温固了数据结构的相关知识,加深了对课内所学的有关数据的逻辑结构和存储表示、数据结构的选择合应用、算法的设计和时空效率分析。
19