兰州交大程序设计:除法实现与打水排队优化算法

需积分: 46 6 下载量 155 浏览量 更新于2024-11-26 收藏 66KB DOC 举报
兰州交通大学的程序设计题目集包含了一些经典的编程练习,这些题目旨在帮助学生提高他们的算法理解和C语言编程技巧。我们来看两个具体的例子: 1. 第7题:减法实现除法 - 这道题目要求使用减法来模拟除法运算,而不直接使用除法运算符 `/`。通过输入两个整数 `num1` 和 `num2`,程序首先读取用户输入并初始化 `num` 为 `num1`。然后,通过一个 while 循环,每次将 `num` 减去 `num2`,直到 `num` 小于 `num2`。在循环过程中,计数器 `count` 自增,表示完成了多少次减法操作。最后输出原始数值除以 `num2` 的结果以及通过减法得到的商。这个题目主要考察了基础的控制结构和循环操作。 2. 第8题:打水排队问题 - 这是一个典型的优化问题,涉及到排序和动态规划。程序定义了一个函数 `times` 来计算所有桶装满水所需的时间总和,接受桶的容量数组 `b` 和人数 `n` 作为参数。主函数中,首先获取每个人打水所需的时间,存储在数组 `a` 中。接下来,使用冒泡排序算法对时间数组进行排序,使得时间最短的人排在前面。然后,通过两层循环遍历排序后的数组,计算并输出所有人打水的总时间。这个问题的核心是通过合理地安排打水顺序来减少总的等待时间。 这两个题目都展示了在实际编程中遇到的问题类型,包括基本的算术操作、控制结构(如循环和条件语句)、数组操作和简单的算法优化。学习者通过解决这类问题,可以提升他们的逻辑思维能力,熟悉C语言语法,并理解如何在有限的计算资源下有效地解决问题。对于兰州交通大学的学生来说,这样的题目有助于他们在课程实践中巩固理论知识,提高编程实践能力。