c语言 二维数组 - 杨辉三角
时间: 2024-12-16 16:02:18 浏览: 4
在C语言中,杨辉三角是一种经典的数学数组结构,通常用于二项式系数的计算。它是一个从左上角到右下角逐渐递减的三角形,每个数字表示的是组合数(即从n个不同元素中取k个元素的组合数目)。例如,第一行和第一列都是1,第二行是1、1,第三行是1、2、1,以此类推。
创建一个二维数组来存储杨辉三角可以按照以下步骤:
1. 定义一个大小为(n+1) * (n+1) 的二维数组,其中n是要计算的最大阶数。
2. 初始化数组的第一行和第一列全为1。
3. 使用嵌套循环遍历数组,对于每一行i(除了第一行),从左到右填充数字,每个数等于当前行的左边一个数加上上面一行对应的数。
4. 每次填充完一个数后,都要更新这个位置的值。
下面是一个简单的C语言函数示例,用于打印杨辉三角的前n行:
```c
#include <stdio.h>
void printPascalTriangle(int n) {
int triangle[n + 1][n + 1];
// 初始化第一行和第一列
for (int i = 0; i <= n; i++) {
triangle[i][0] = triangle[0][i] = 1;
}
// 打印三角形
for (int i = 1; i <= n; i++) {
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
printf("\n");
for (int k = 0; k <= i; k++) {
printf("%d ", triangle[i][k]);
}
}
}
// 示例
int main() {
int rows = 5;
printPascalTriangle(rows);
return 0;
}
```
当你运行此程序时,它会打印出杨辉三角的前5行。运行该程序时,可以调整`rows`变量的值以查看不同规模的杨辉三角。
阅读全文