C语言编程示例:素数、兔子序列和水仙花数

需积分: 17 0 下载量 9 浏览量 更新于2024-09-16 1 收藏 32KB DOC 举报
"学习C语言示例" 本资源是关于C语言编程的示例代码集合,包括三个程序:程序11、程序12和程序13。下面是对每个程序的详细解释和知识点总结: 程序11: 题目:计算兔子总数 程序分析:该程序使用迭代法计算兔子总数,每个月的兔子数量遵循斐波那契数列的规律。 知识点: * 使用 `for` 循环迭代计算兔子数量 * 使用 `long` 数据类型存储大整数 * 使用 `printf` 函数格式化输出结果 程序源代码: ```c main() { long f1, f2; int i; f1 = f2 = 1; for (i = 1; i <= 20; i++) { printf("%12ld%12ld", f1, f2); if (i % 2 == 0) printf("\n"); /* 控制输出,每行四个 */ f1 = f1 + f2; /* 前两个月加起来赋值给第三个月 */ f2 = f1 + f2; /* 前两个月加起来赋值给第三个月 */ } } ``` 程序12: 题目:判断101-200之间的素数 程序分析:该程序使用 trial division 方法判断素数,检查数字是否能被2到sqrt(n)之间的数字整除。 知识点: * 使用 `#include "math.h"` 指令包含数学函数库 * 使用 `sqrt` 函数计算平方根 * 使用 `for` 循环迭代检查素数 * 使用 `if` 语句判断素数 程序源代码: ```c #include "math.h" main() { int m, i, k, h = 0, leap = 1; printf("\n"); for (m = 101; m <= 200; m++) { k = sqrt(m + 1); for (i = 2; i <= k; i++) if (m % i == 0) { leap = 0; break; } if (leap) { printf("%-4d", m); h++; if (h % 10 == 0) printf("\n"); } leap = 1; } printf("\nThe total is %d", h); } ``` 程序13: 题目:打印出所有的“水仙花数” 程序分析:该程序使用 `for` 循环迭代检查三位数是否是“水仙花数”,即各位数字立方和等于该数本身。 知识点: * 使用 `for` 循环迭代检查三位数 * 使用 `if` 语句判断“水仙花数” * 使用 `printf` 函数格式化输出结果 程序源代码: ```c main() { int i, j, k, n; printf("'waterflowe" /* ... */ } ``` 这三个程序示例展示了C语言编程的基本概念和技术,包括变量声明、数据类型、控制结构、函数调用和格式化输出等。