C语言编程题集:阶乘求和、排序与特殊数计算

1 下载量 58 浏览量 更新于2024-06-29 收藏 537KB PPT 举报
本资源是一份C语言期末考试题目集的PPT,包含五道练习题,旨在测试学生的C语言基础和编程能力。以下是每道题目详细解析: 1. **程序设计:阶乘和累加** 这段代码用于计算1! + 3! + 5! + ... + n! 的和。通过嵌套循环,首先初始化`f`为1,然后逐个将1到`i`的整数相乘得到`i!`,累加到`s`中。循环条件分别是`i <= n`和`j <= i`,最后输出n和总和`s`。 2. **选择排序算法实现** 使用选择排序对10个整数进行升序排列。定义常量`N`为10。程序包括两层循环,外部循环控制未排序部分的元素,内部循环用于查找未排序部分中的最小值。`k`记录当前最小值的索引,当找到更小的元素时更新`k`。如果`k`与`i`不相等,说明有交换,执行交换操作。 3. **输出7或17倍数的偶数及其和** 此程序用`for`循环遍历1到300之间的整数,判断是否同时能被7或17整除且是偶数。满足条件的数累加到`sum`中,每输出5个数换行。循环条件为`i <= 300`,内层条件为`i % 5 == 0`表示每5个数后换行。 4. **计算圆周率π的近似值** 该程序使用调用`math.h`库中的函数实现莱布尼茨级数求π。`n`和`f`分别用于计算分数,`t`用于存储当前项,`pi`累加和。循环终止条件是`fabs(t)`小于给定阈值1e-6。每轮迭代后,`f`取相反数,更新`n`和`pi`。 5. **水仙花数查找** 最后一个程序寻找100到999之间的水仙花数,即每个位数的立方和等于本身。通过检查每一位的立方并相加,判断是否为水仙花数,输出符合条件的数。 这些题目覆盖了C语言的关键概念,如循环结构、数组操作、条件语句、数学函数应用以及基本的数值计算和数据结构。解答这些问题不仅检验了学生对于C语言语法的掌握,还考察了他们的逻辑思维和算法理解能力。