C语言经典代码示例:乘法表、斐波那契数列、素数判断与因式分解
5星 · 超过95%的资源 需积分: 44 10 浏览量
更新于2024-09-08
16
收藏 9KB TXT 举报
"C语言必背的几个代码"
在学习C语言的过程中,掌握一些关键的代码片段是非常重要的,这些代码可以帮助初学者更好地理解和运用C语言的基础概念。以下是从给定内容中提取出的五个关键代码示例,它们分别涵盖了乘法表、斐波那契数列、素数检测、因数分解和矩阵转置。
1. 乘法表
```c
#include<stdio.h>
main(){
int i, j, result;
for(i=1; i<10; i++){
for(j=1; j<10; j++){
result = i*j;
printf("%d*%d=%-3d", i, j, result);
}
printf("\n");
}
}
```
这段代码用于打印1到9的乘法表,`%-3d`用于左对齐并保留3个数字的宽度,使得输出整齐美观。
2. 斐波那契数列
```c
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;
}
```
这个程序生成斐波那契数列的前20项,`f1`和`f2`分别表示当前项和下一项,通过循环累加生成序列,并每两个数换行。
3. 素数检测
```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)/*如果leap仍为1,则m为素数*/{
printf("%-4d", m);
h++;
if(h % 10 == 0)
printf("\n");
}
leap = 1;
}
printf("\nThe total is %d", h);
}
```
这段代码用于找出101到200之间的所有素数,通过判断每个数是否能被2到其平方根整除来确定其素数属性。
4. 因数分解
```c
static int k[10];
int i, j, n, s;
for(j = 2; j < 1000; j++){
n = -1;
s = j;
for(i = 1; i < j; i++){
if((j % i) == 0){
n++;
s = s - i;
k[n] = i;
}
}
if(s == 0){
printf("%d is a perfect number:", j);
for(i = 0; i < n; i++)
printf("%d,", k[i]);
printf("%d\n", k[n]);
}
}
```
这个程序找到并打印出2到999之间的所有完美数,完美数是所有正因数之和等于其本身的自然数。
5. 矩阵转置
```c
int a[4][4], b[4][4], i, j;
printf("Input 16 numbers:");
for(i = 0; i < 4; i++)
for(j = 0; j < 4; j++){
scanf("%d", &a[i][j]);
}
/*此处应有转置代码,但原代码缺失*/
```
这段代码虽然不完整,但它的目的是读取一个4x4的矩阵并进行转置。要完成转置,需要将矩阵a的行变为b的列,反之亦然。
这些代码实例展示了C语言的基本操作,如循环、条件判断、数组处理以及数学运算,对于学习C语言的初学者来说非常实用。通过对这些代码的理解和实践,可以巩固和提升编程技能。
2023-08-14 上传
2023-06-28 上传
2008-11-03 上传
2013-11-05 上传
2021-09-29 上传
2009-04-13 上传
weixin_44549116
- 粉丝: 3
- 资源: 1
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析