采用数组在屏幕上显示杨辉三角形。
时间: 2024-12-29 18:29:25 浏览: 7
在C语言中,杨辉三角形通常通过动态内存分配和二维数组来表示,然后逐行打印出来。下面是一个简单的示例,用于生成并显示一个小型的杨辉三角形:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 5
// 动态创建数组存储杨辉三角
int** create_pascal_triangle(int rows) {
int** triangle = (int**)malloc(sizeof(int*) * rows);
for (int i = 0; i < rows; i++) {
triangle[i] = (int*)malloc(sizeof(int) * (i + 1));
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("%4d", triangle[i][j]); // 使用printf控制对齐
}
printf("\n");
}
free(triangle[rows - 1]);
for (int i = rows - 2; i >= 0; i--) {
free(triangle[i]);
}
free(triangle);
}
int main() {
int** triangle = create_pascal_triangle(ROWS);
print_triangle(triangle, ROWS);
return 0;
}
```
这个程序首先定义了一个宏`ROWS`来设置杨辉三角的最大行数。然后,`create_pascal_triangle`函数动态创建了一维指针数组,每个元素都是一个长度为`(i+1)`的一维数组,表示三角形的第`i`行。最后,`print_triangle`函数遍历数组并打印出每一行。
注意,由于使用了动态内存,结束后别忘了释放内存。
阅读全文