t->ath[first->count]).item=要添加的项目号; (first->ath[first->count]).range=i(名次) First指向的学校的项目加一;更新总分 break; } first=first->next;(5)遇到的较重要问题的回顾5.1.1提出问题所有输入输出内容只能在一屏内显示,学过c语言,很知道”\n”是换行,”\f”是换屏的,可是在这里就是无法实现。5.1.2解决问题输入clrscr();5.1.3提出问题设置选项,供用户输入选择时,当按任意键时都会跳入下一步操作,或者直接退出系统。5.1.4分析问题在供用户选择时,提供了几个选项,就写几个case语句,但是当用户输入的并不是这几个数字时,系统就不能做出正确判断。5.1.5解决问题修改case语句,添加default语句提示出错,要求重新输入;?default:{ clrscr();/*清屏*/ printf("输入错误,请重新选择"); }5.1.6提出问题当同一项目中有同一学校的两个人时,便不能正确输出或者输出相同人名。5.1.7分析问题由于同时有两个相同学校编号的人存在,系统在输出时,不能确定那个是正确的,或者用后来的覆盖以前的。5.1.8解决问题用for函数实现从开始到结尾的遍历。5.2算法的效率及改进设想算法的效率:总的来讲,严重引响执行速度的便是查找,查找任意一个数据,便要将其所在的结构从头至尾遍历一次,耗费大量的时间。改进设想:因大部分显示均是以学校为单位,所以将以由有关人的各种信息为集合的结构改为以由有关学校的各种信息为集合的结构。在这次上机过程中遇到过一些问题,但经过我们不懈努力,解决了部分,还有的现在不能解决,留着我们日后思考和解决。比如说在运用数据结构排序的时候,方法的选择上,总是想用时间复杂度小的算法,但结果出了问题,最后还是用了我们熟悉的选择法排序。