生成前十行杨辉三角并输出,c语言代码
时间: 2024-12-15 22:29:19 浏览: 4
在C语言中,我们可以使用嵌套循环结构以及动态内存分配来生成并输出前10行的杨辉三角。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 10
// 动态分配数组
int** create_triangle(int rows) {
int** triangle = (int **)malloc(rows * sizeof(int *));
for (int i = 0; i < rows; i++) {
triangle[i] = (int *)malloc((i + 1) * sizeof(int));
}
return triangle;
}
// 计算并存储杨辉三角
void fill_triangle(int** triangle, int row) {
triangle[0][0] = 1;
for (int i = 1; i <= row; i++) {
triangle[i][0] = 1;
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
triangle[i][i] = 1;
}
}
// 输出杨辉三角
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("\n");
}
free(triangle);
}
int main() {
int** triangle = create_triangle(ROWS);
fill_triangle(triangle, ROWS);
print_triangle(triangle, ROWS);
// 打印完后记得释放动态内存
return 0;
}
```
当你运行这个程序,它会打印出前10行的杨辉三角。注意,在实际使用时需要处理好内存管理。
阅读全文