如何用C语言实现杨辉三角的打印?
时间: 2024-12-15 16:21:26 浏览: 17
在C语言中,杨辉三角是一个经典的组合数学问题,可以通过动态规划的方式实现。以下是简单的步骤:
1. 定义一个二维数组`triangle`来存储杨辉三角的每个元素。
2. 初始化数组,第一行和第一列只包含一个1。
3. 使用循环结构填充数组,对于每一行,从左到右和从右到左,前一个数加当前行的第一个数等于当前的数。
下面是一个基本的C代码示例:
```c
#include <stdio.h>
#define ROWS 10 // 设置杨辉三角的最大行数
// 打印杨辉三角
void printPascalTriangle(int triangle[][ROWS]) {
for (int i = 0; i <= ROWS; ++i) { // 遍历每一行
for (int j = 0; j <= i; ++j) { // 在每一行上遍历每个元素
printf("%d ", triangle[i][j]); // 输出元素值
}
printf("\n"); // 换行
}
}
int main() {
int triangle[ROWS][ROWS]; // 初始化一个二维数组
triangle[0][0] = 1;
// 填充三角形
for (int i = 1; i < ROWS; ++i) {
for (int j = 0; j < i; ++j) {
triangle[i][j] = triangle[i - 1][j] + triangle[i - 1][j + 1];
}
triangle[i][i] = 1;
}
// 打印三角形
printPascalTriangle(triangle);
return 0;
}
```
阅读全文