C语言编程:经典程序示例解析

5星 · 超过95%的资源 需积分: 9 3 下载量 100 浏览量 更新于2024-09-16 收藏 58KB TXT 举报
"c语言经典程序100例" 在C语言编程中,经典的问题和实例有助于学习者深入理解语言的基本概念和算法设计。以下是三个示例程序,分别涉及斐波那契数列、判断素数以及寻找水仙花数。 1. 斐波那契数列 斐波那契数列是数学中的一个著名序列,每个数字是前两个数字的和。程序展示了如何生成并打印出前20个斐波那契数。通过变量`f1`和`f2`初始化为1,然后在循环中计算新的斐波那契数并打印。每打印10个数后换行,使输出更易读。 ```c #include<stdio.h> int 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; // 更新f2 } return 0; } ``` 2. 判断素数 这个程序用于找出101到200之间的素数。素数是只有1和自身两个正因数的自然数。程序通过`sqrt()`函数找到可能的因数范围,并对每个数进行遍历,如果发现有除1和自身之外的因数,则不是素数。当找到10个素数时换行,最后输出总共找到的素数数量。 ```c #include<stdio.h> #include<math.h> int 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); return 0; } ``` 3. 水仙花数 水仙花数是指一个三位数,其各位数字立方和等于该数本身。程序通过循环遍历100到999之间的所有数,检查它们是否满足水仙花数的条件。如果找到符合条件的数,就打印出来。 ```c #include<stdio.h> int main() { int i, j, k, n; printf("Waterflower numbers are:\n"); for (n = 100; n < 1000; n++) { i = n / 100; // 百位数 j = n / 10 % 10; // 十位数 k = n % 10; // 个位数 if (i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k) { printf("%-5d", n); } } printf("\n"); return 0; } ``` 这些例子涵盖了基本的循环、条件语句、数学运算和数组操作等C语言核心概念,是学习和巩固C语言编程技能的良好起点。通过实践这些例子,学习者可以更好地理解和应用C语言的编程原理。