实验报告 1实验名称:数据结构与软件设计实习题 目:运动会分数统计专业:生物信息学 班级:01 姓名: 学号:实验日期:2025.07.22一、实验目的:掌握基本的输入输出方法,理解程序的分支结构,实现条件推断和循环程序的设计;掌握结构体的应用;二、 实验要求:生各学院的成绩单,包括各学院所取得的项目号、名次(成绩)、学生姓名(或学号)和得分;产生团体总分报表,包括学院号、男子团体总分、女子团体总分和团体总分。二、实验内容:参加运动会的的学院编号为 1~n,竞赛分成 m 个男子项目和 w 个女子项目,编号分别为 1~m和 m+1~m+w,所有项目都取前五名,得分顺序为 7,5,3,2,1。写一个统计程序产生各种成绩单和得分报表。通过编程解决一些实际问题,并对程序进行测试,可设 n=4,m=3,w=2 进行测试,一般考虑n≤20,m≤30,w≤20,姓名长度不超过 20 个字符,按名次顺序输入运动员姓名、学院名和成绩。四、实验编程结果或过程:1. 数据定义(1)描述运动员的线性表typedef struct { int item[MAXSIZE]; //参赛项目号 char thletename[MAXSIZE][20];//姓名 char sex[MAXSIZE];//性别 int schoolnum[MAXSIZE];//所在学校编号 int num[MAXSIZE];//名次 int point[MAXSIZE];//得分 int last; }student;(2)描述学院的线性表typedef struct { int schoolnum[MAXSIZE];//学校编号 int Tgirl[MAXSIZE];//女生团体总分 int Tboy[MAXSIZE];//男生团体总分 int Tall[MAXSIZE];//学校总成绩 int last;}college;2. 函数如下,代码详见文件“运动会.cpp” 初始化函数 控制输入的函数 算分的函数 控制输出成绩的函数InitSCH(&S2,n)input(&S1,n,m,w)mark(&S1,&S2,n,m,w)output(S1,S2)开始开始3. 运行测试结果,运行结果无误,如下图错误调试,能够正确处理错误,如下图结束结束调试分析 1.用线性链表时应注意细节,指针的使用过程中很容易出错,从而达不到采纳其起到的效果用线性链表时应注意细节,指针的使用过程中很容易出错,从而达不到采纳其起到的效果。2.线性表School的各属性在用之前需要初始化。3.进行健壮性推断时遇到很多问题:a.推断性别是否正确时S1->sex[i]!='g'和S1->sex[i]!='b'必须是并且关系b.当检测到错误,需要重新输入时,要在输入函数里再调输入函数,用递归调用的方法实现重新输入。4.输入函数里传参时必须用指针(引用)类型,因为需要带回数据5.。6.线性表School的各...