C语言编程练习:奇数和、水仙花数、数列求和与字符串反转

版权申诉
0 下载量 77 浏览量 更新于2024-06-27 收藏 366KB PDF 举报
本资源是一份C语言编程作业文档,包含了四个不同的编程题目,涉及基础的算法和数据结构实践。以下是每个题目的详细说明: 1. 计算100以内的奇数和 这个问题要求编写一个程序,计算并输出100以内所有奇数的和。C语言代码中,首先通过嵌套循环遍历100以内的所有数字,使用`for`循环分别控制百位(m)、十位(n)和个位(i),然后计算`a = m*100 + n*10 + i`。如果`a`是奇数(即`a % 2 != 0`),则将其加入到总和`total`中。通过检查每个数字是否满足奇数条件,实现奇数的累加。 2. 查找“水仙花数” 这部分要求找出所有三位数的“水仙花数”,即其各位数字的立方和等于该数本身。代码定义了一个函数,用`for`循环依次枚举百位、十位和个位的取值,并通过`if`语句检查`m*m*m + n*n*n + i*i*i == a`是否成立。如果成立,输出该数`a`。 3. 斐波那契数列前20项和 斐波那契数列给定的是1, 1, 2, 3, 5, 8, ...,该段代码求解的是这个数列的前20项之和。利用动态规划的思想,初始项`a[0]`和`a[1]`已知,然后使用`for`循环根据递推公式`a[i] = a[i-2] + a[i-1]`计算剩余项,累加到`temp`中,最后输出`temp`作为和。 4. 分数序列的前20项和 提供的分数序列是黄金分割数列(Fibonacci数列的倒数形式),即每个分数的分子和分母是相邻两项的和。代码中定义了`m`和`n`分别表示当前分数的分子和分母,`for`循环用于生成前20项,并在每次迭代中更新分子和分母。同时,将每个分数加到`total`中,最后输出总和。 5. 字符串反转 最后一个问题要求编写一个程序,将输入的字符串反向输出。用户在命令行中运行`s.exe`并输入字符串(如"abcde"),程序通过`strlen()`获取字符串长度,使用`for`循环和字符数组存储输入字符串,然后反转字符串并输出结果。 这些题目涵盖了C语言基础中的循环结构、条件判断、数组操作以及字符串处理等知识点,有助于巩固对C语言的理解和应用能力。