编写函数输出行数为n的杨辉三角,void yanghuTriangle(int n),在主函数中调用输出9行杨辉三角
时间: 2024-10-20 08:13:49 浏览: 43
杨辉三角,又称帕斯卡三角,是一种数学上常见的二项式系数表示形式,每一行都是前一行的数字之和,除了最左边和最右边的第一列,其余每个数都是它上面两数之和。在C语言中,我们可以用嵌套循环来打印出指定行数的杨辉三角。下面是一个函数`yanghuTriangle`的简单实现:
```c
#include <stdio.h>
#include <stdlib.h> // 用于动态分配内存
void printNum(int num) {
printf("%d ", num);
}
void yanghuTriangle(int n) {
int** triangle = malloc(sizeof(int*) * n); // 动态分配数组空间
for (int i = 0; i < n; i++) {
triangle[i] = (int*)malloc(sizeof(int) * (i + 1)); // 内部再分配一维空间
triangle[i][0] = triangle[i][i] = 1; // 初始化第一列和最后一列
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; // 计算当前元素
}
printNum(triangle[i][0]);
for (int j = 1; j < i; j++) {
printNum(triangle[i][j]);
}
printf("\n");
free(triangle[i]); // 释放当前行的内存
}
free(triangle); // 释放所有行的内存
}
int main() {
int n = 9;
yanghuTriangle(n);
return 0;
}
```
在`main`函数中,我们调用`yanghuTriangle`函数并传递参数9,这将输出9行的杨辉三角。当你运行这段代码时,会看到从1开始逐渐增长的组合数序列形成的一个金字塔形状的三角形。
阅读全文