编程打印如下形式的杨辉三角形(编程提示:用二维数组存放杨辉三角形中的数据)。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
时间: 2024-12-23 09:20:53 浏览: 6
在C语言中,我们可以使用二维数组来存储杨辉三角的数据,然后逐行打印出来。以下是相应的代码实现:
```c
#include <stdio.h>
#define MAX_ROWS 10 // 设置最大行数
// 创建二维数组表示杨辉三角
int pascal_triangle[MAX_ROWS][MAX_ROWS];
void fill_pascal_triangle(int n) {
// 初始化第一行和最后一行全为1
for (int i = 0; i <= n; i++) {
pascal_triangle[i][0] = pascal_triangle[i][i] = 1;
}
// 从第二行开始填充
for (int i = 1; i < n; i++) {
for (int j = 1; j < i; j++) {
pascal_triangle[i][j] = pascal_triangle[i - 1][j - 1] + pascal_triangle[i - 1][j];
}
}
}
void print_pascal_triangle(int n) {
for (int i = 0; i <= n; i++) {
// 打印当前行
for (int j = 0; j <= i; j++) {
printf("%3d ", pascal_triangle[i][j]); // 使用3位宽度对齐
}
printf("\n");
}
}
int main() {
int rows;
printf("请输入杨辉三角的行数:");
scanf("%d", &rows);
if (rows > MAX_ROWS) {
printf("行数过大,超出范围!\n");
return 1;
}
fill_pascal_triangle(rows);
print_pascal_triangle(rows);
return 0;
}
```
这段代码首先创建了一个大小为`MAX_ROWS x MAX_ROWS`的二维数组`pascal_triangle`,然后使用两层嵌套循环计算并存储杨辉三角的每一项。最后,再遍历数组逐行打印出来。
阅读全文