二维数组实现杨辉三角直
时间: 2023-12-26 08:25:38 浏览: 78
二维数组可以很方便地实现杨辉三角。具体实现方法如下:
```c
#include <stdio.h>
#define N 10
int main() {
int a[N][N];
int i, j;
for (i = 0; i < N; i++) {
for (j = 0; j <= i; j++) {
if (j == 0 || j == i) {
a[i][j] = 1; // 两边的 1
} else {
a[i][j] = a[i-1][j-1] + a[i-1][j]; // 中间的数等于上一行两个数之和
}
}
}
for (i = 0; i < N; i++) {
for (j = 0; j <= N-i; j++) {
printf(" "); // 每行最前面打印的空格数
}
for (j = 0; j <= i; j++) {
printf("%3d ", a[i][j]); // 打印数组
}
printf("\n");
}
return 0;
}
```
上述代码中,我们首先定义了一个大小为N*N的二维数组a,然后使用两个for循环来遍历数组a,并根据杨辉三角的规律将对应位置的值赋为1或者上一行两个数之和。最后再使用两个for循环来打印数组a,其中第一个for循环用于打印每行最前面的空格数,第二个for循环用于打印数组a中的值。
阅读全文