编程作业:优化整数排序算法与斐波那契数列计算

4星 · 超过85%的资源 需积分: 11 10 下载量 29 浏览量 更新于2024-11-15 收藏 6KB TXT 举报
本资源主要涵盖数据结构相关的编程作业,包括数组排序与斐波那契数列计算,以及处理体育成绩的函数设计。 1.16 题目要求实现一个算法,将三个整数X、Y和Z按照非递减顺序排列。提供的代码实现了一个名为`Descend`的函数,它接受三个引用参数x、y和z。函数首先检查x和y的大小关系,如果x小于y,则交换它们的值。接着,函数检查y和z的大小,如果y小于z,则进行交换。在交换y和z之后,为了确保x、y、z仍然满足非递减顺序,函数会再次比较x和临时变量temp(原本的z值),如果x大于等于temp,那么保持y的值不变;否则,将y设为temp,x设为原来的y值。这样,无论输入的x、y、z是什么顺序,最终都会按照非递减顺序排列。 1.17 题目涉及斐波那契数列的计算。给定k和m,要求计算第k项到第m项的斐波那契数列之和。函数`Fibonacci`用于完成这个任务。函数首先判断输入的k和m是否合法,如k小于2或m小于0则返回错误。如果k等于m+1,即求的是斐波那契数列的第k项,那么返回1。如果m小于k-1,说明求和的序列为空,返回0。对于其他情况,函数使用一个临时数组temp存储斐波那契数列,初始化为0,然后通过循环计算斐波那契数列的和,最后将结果存入f并返回成功状态。 1.18 题目涉及到处理体育比赛成绩。定义了一个结构体`ResultType`来表示比赛结果,包括运动项目(sport)、性别(gender)、学校名称(schoolname)、成绩(result)和得分(score)。题目要求实现一个函数`Scores`,该函数接收一个`ResultType`类型的数组result和一个`ScoreType`类型的数组score,用于根据比赛成绩计算得分。score数组初始值为0,表示未计算得分。函数需要处理的成绩数据包含五所学校(A、B、C、D、E)和不同性别的参赛者,成绩可能有多种情况,需要根据特定的规则来计算得分,具体得分规则未在描述中给出,需要额外的信息来实现。函数的结果应更新在score数组中。 总结来说,这些题目涵盖了数据结构中的基本操作,包括排序算法、递归计算以及结构体数组的处理,这些都是计算机科学基础课程中的重要概念。