C语言编程:经典实例11-20解析
需积分: 9 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语言程序实例有助于学习者掌握基础的编程概念,如循环、条件语句、函数调用、数学运算以及数据类型。同时,它们也涉及到了算法设计,如查找质数和特定数值模式的检测。对于初学者来说,这些都是非常实用的练习。
2011-06-23 上传
2010-12-07 上传
2021-08-01 上传
2013-02-13 上传
2009-03-13 上传
2010-03-19 上传
2008-10-13 上传
2010-01-01 上传
2009-04-12 上传
洛阳理工学院
- 粉丝: 6
- 资源: 15
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析