杨辉三角的代码c语言
时间: 2024-06-22 22:02:54 浏览: 105
杨辉三角是一个数学术语,它展示了一个由数字构成的三角形,每个数字是上一行两个相邻数字之和。在C语言中,我们可以使用动态内存分配和嵌套循环来生成和打印杨辉三角。下面是一个简单的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 动态内存大小
#define SIZE 10
void printPascalTriangle(int row) {
int** triangle = (int**)malloc(sizeof(int*) * row);
for (int i = 0; i < row; ++i) {
triangle[i] = (int*)malloc(sizeof(int) * (i + 1));
triangle[i] = triangle[i][i] = 1;
for (int j = 1; j < i; ++j)
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
printf("%d ", triangle[i]);
for (int k = 1; k < i; ++k)
printf("%d ", triangle[i][k]);
printf("\n");
}
// 释放内存
for (int i = 0; i < row; ++i)
free(triangle[i]);
free(triangle);
}
int main() {
int rows = SIZE; // 杨辉三角的行数
printPascalTriangle(rows);
return 0;
}
```
这个代码首先创建一个动态数组来存储每一行的数字,然后计算并打印每一行的值。`printPascalTriangle`函数里有两个嵌套循环:外部循环控制行数,内部循环计算每个位置的值。`main`函数调用这个函数并设置行数。
如果你想要了解更多关于杨辉三角的问题,例如:
1. 为什么要使用动态内存分配来存储三角形?
2. 这段代码是如何计算每个位置的值的?
3. 如何修改代码来改变输出的行数或显示更大规模的三角形?
阅读全文