经典C语言实例:结构体排序与奖金计算

需积分: 13 5 下载量 108 浏览量 更新于2024-07-31 1 收藏 352KB DOC 举报
经典C程序100例是一本旨在帮助C语言学习者掌握基础编程技巧和实践应用的教材。书中包含了一系列精心挑选的示例,涵盖了程序设计、数据结构与算法等核心知识点。 1. 程序填空与排序: 在这个部分,作者提供了一个C语言程序,涉及使用结构体数组`struct student`存储学生成绩,以及一个名为`fun`的函数,用于按照姓名的字典序对学生数组进行排序。通过定义一个`for`循环遍历数组,通过`strcmp`函数比较每个学生的姓名,如果当前学生姓名大于下一个学生姓名,则交换他们的位置。这部分重点展示了如何使用C语言的结构体、指针和字符串比较函数进行数组排序。 2. 程序修改: 编程挑战要求修改`MODI1.C`中的`fun`函数,其功能是在给定的字符串`p`中找到ASCII码值最大的字符,并将其移动到字符串的起始位置。通过指针操作,找到最大字符的位置`q`,然后使用`while`循环将字符逐个后移,直到`q`小于`p`。这部分涉及C语言中的指针操作和字符串处理。 3. 程序设计: 这里介绍的是如何设计一个函数`fun`,用于筛选出指定分数范围内的学生数据。函数接收两个结构体数组`a`和`b`作为参数,以及两个整数`l`和`h`作为分数范围的边界。函数内部使用`for`循环遍历数组`a`,当遇到学生成绩在指定范围内的记录时,将其复制到`b`数组中,并累加计数。最后返回筛选后的学生数量。这段代码展示了C语言中结构体操作、数组处理和条件判断的应用。 另外,两个示例程序分别涉及: - **程序1**:组合问题——计算所有可能的三位数,其中每个数字都不同且不重复,涉及了三层嵌套循环和条件判断。 - **程序2**:奖金计算问题——根据企业利润的不同区间计算提成比例,通过if-else语句实现多个条件判断和分段计算。此部分演示了如何处理数值逻辑和条件判断在实际业务场景中的应用。 这些程序实例都是经典C语言实践中的基础知识,通过实际操作加深对C语言概念的理解和掌握,适合初级至中级程序员学习和巩固编程技能。