2.打印6行如下形式的杨辉三角形。 (1)杨辉三角第1列和主对角线的元素都是1 (2)其余的每个元素等于其上一行的两个元素之和,这两个元素一个位于同列,一个位于前一列),将数存放在二维数组中 (3)存储后按以上形式输出二维数组
时间: 2024-12-20 08:20:18 浏览: 6
要打印6行杨辉三角形,你可以使用嵌套循环以及动态内存分配来存储二维数组中的数字。以下是一个简单的C程序实现:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 6
// 动态创建一个二维数组
int** create_triangle(int rows) {
int** triangle = malloc(rows * sizeof(int*));
for (int i = 0; i < rows; ++i) {
triangle[i] = malloc((i + 1) * sizeof(int));
triangle[i][0] = triangle[i][i] = 1;
}
return triangle;
}
// 打印杨辉三角
void print_triangle(int** triangle, int rows) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j <= i; ++j) {
printf("%d ", triangle[i][j]);
}
printf("\n");
}
// 释放内存
for (int i = 0; i < rows; ++i) {
free(triangle[i]);
}
free(triangle);
}
int main() {
int** triangle = create_triangle(ROWS);
print_triangle(triangle, ROWS);
return 0;
}
```
在这个程序中,`create_triangle` 函数用于初始化杨辉三角,`print_triangle` 函数则负责打印这个二维数组。注意,`malloc` 和 `free` 分别用于动态分配和释放内存。
运行此程序,你会看到六行杨辉三角形按照要求打印出来。
阅读全文