数据结构作业:算法与斐波那契序列

需积分: 19 3 下载量 185 浏览量 更新于2024-08-01 收藏 291KB DOC 举报
本资源是一份关于数据结构的上机作业文档,涵盖了章节1至5的内容。主要包含三个算法题目: 1.16 题目要求设计一个名为`Descend`的函数,该函数接收三个整数`x`, `y`, 和 `z`作为输入参数,目的是通过交换它们的值,使得这三个数按照从大到小的顺序排列。这个算法采用了一种简单但直观的方法,即通过嵌套的条件语句,逐个比较并交换数值,确保最终得到的序列是递减的。 1.17 题目涉及到k阶裴波那契序列,这是一个扩展自传统斐波那契数列的概念。`Fibonacci`函数的目的是计算k阶斐波那契数列的第m项值,其中k和m是传入的参数。函数首先检查输入的有效性,然后根据m的值(小于等于k时、等于k-1时或大于k-1时)分别计算相应的结果。当m大于k-1时,通过两个嵌套循环计算k阶数列的前m项之和,并将结果存储在临时数组`temp`中,最后返回第m项。 1.18 这个题目涉及实际应用中的数据分析,要求处理田径对抗赛的成绩表格。函数`Scores`接收两个指针,`result`数组存储比赛结果,而`score`数组用于存放各院校的男、女总分和团体总分。函数遍历`result`数组,根据学校名称和性别来累加成绩,同时更新对应的总分。当遇到特定标记(表示比赛结束的特殊记录)时,算法停止并返回结果。 这些题目涵盖了数据结构中的排序算法(非递增排序)、动态规划(k阶斐波那契序列计算)以及数据处理和数组操作(成绩统计)。完成这些作业有助于巩固对数据结构基础概念的理解,如数组、循环和条件语句,同时也锻炼了解决实际问题的能力。