C语言经典程序解析:99乘法表,兔子问题与素数判断

5星 · 超过95%的资源 需积分: 49 31 下载量 56 浏览量 更新于2024-09-11 5 收藏 100KB PDF 举报
“C语言必背18个经典程序.pdf”包含C语言的学习资料,主要涉及三个经典程序示例:99乘法表、兔子问题(斐波那契数列)以及素数判断。这些程序有助于初学者掌握C语言的基本语法和逻辑思维。 1. **99乘法表**:该程序通过两层循环实现,外层循环变量`i`控制行数,内层循环变量`j`控制列数。每个循环内部计算`i`与`j`的乘积`result`,并使用`printf`函数按照指定格式输出。`%-3d`表示输出的数字左对齐且占据3个字符宽度。在内层循环结束后,添加`\n`进行换行,以形成整齐的99乘法表布局。 2. **兔子问题**:这是著名的斐波那契数列问题。程序初始化两个变量`f1`和`f2`为1,代表第一对兔子。随后的循环中,`f1`和`f2`依次表示前两个月的兔子数量,它们相加的结果赋给下一个月。`printf`用于输出数列,`if(i%2==0)printf("\n")`确保每行显示4个数。这个程序展示了如何用递归或迭代方法解决斐波那契序列问题。 3. **素数判断**:该程序通过遍历101到200之间的所有数,判断每个数是否为素数。对于每个数`m`,计算其平方根`k`,然后用2到`k`的所有数去尝试整除`m`。如果发现可以整除,则`m`不是素数,否则是素数。`leap`变量用于跟踪当前数是否为素数,`h`记录素数的个数,每输出10个素数换行一次,最后输出总共有多少个素数。 4. **完数查找**:完数是指其因子之和等于自身的数。程序通过遍历2到999,计算每个数的因子之和`s`。如果`s`等于原数,那么这个数就是完数。这里使用了一个静态数组`k`来存储因子,但实际代码中这部分可能未完全展示。完整的代码会包括检查所有可能的因子并累加到`s`的过程。 这四个程序展示了C语言的基础控制结构(如循环和条件判断)、变量操作、数学运算、输入输出以及基本的算法设计。学习者可以通过理解和编写这些程序来加深对C语言的理解,并锻炼解决问题的能力。