C语言编程:经典实例11-20解析

需积分: 9 2 下载量 36 浏览量 更新于2024-09-27 收藏 6KB TXT 举报
"经典C语言程序设计100例11-20.txt" 这些示例展示了C语言的经典编程练习,涵盖了不同的算法和编程技巧。以下是每个例子的详细说明: 1. 斐波那契数列 这个程序计算并打印斐波那契数列的前20个数字。斐波那契数列是一个数列,其中每个数字是前两个数字的和,起始于0和1。代码中,`f1`和`f2`分别初始化为1,然后在循环中通过累加生成后续的斐波那契数。每两行输出一个换行符,以便整洁地显示结果。 ```c int main() { long f1 = 1, f2 = 1; int i; for (i = 1; i <= 20; i++) { printf("%12ld%12ld", f1, f2); if (i % 2 == 0) printf("\n"); f1 = f1 + f2; f2 = f1 + f2; } return 0; } ``` 2. 质数检测 这个程序从101到200遍历所有整数,检测并打印出质数(只有1和自身两个正因数的自然数)。它使用了平方根(`sqrt()`函数来自`math.h`库)来减少计算量,并通过`for`循环判断每个数字是否能被2到其平方根之间的任何数字整除。如果不能,那么这个数字就是质数。 ```c #include <math.h> int main() { int m, i, k, h = 0, leap = 1; 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); return 0; } ``` 3. 水仙花数 水仙花数是指一个三位数,其每一位数字的立方和等于该数字本身。程序遍历100到999之间的所有三位数,检查是否满足水仙花数的条件。如果找到一个这样的数,就将其打印出来。 ```c int main() { int i, j, k, n; printf("'waterflower' numbers are:"); for (n = 100; n < 1000; n++) { i = n / 100; // hundreds place j = n / 10 % 10; // tens place k = n % 10; // ones place if (i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k) { printf("%-5d", n); } } printf("\n"); return 0; } ``` 14. 这个例子看起来不完整,但可能是要求用户输入一个字符串,并进行某种操作。由于提供的内容不完整,无法提供具体的解释。 这些C语言程序实例有助于学习者掌握基础的编程概念,如循环、条件语句、函数调用、数学运算以及数据类型。同时,它们也涉及到了算法设计,如查找质数和特定数值模式的检测。对于初学者来说,这些都是非常实用的练习。