网站首页 网站地图
网站首页 > 娱乐人生 > c语言编程怎么输出杨辉三角形

c语言编程怎么输出杨辉三角形

时间:2026-03-20 23:26:41

在C语言中输出杨辉三角,可以通过以下几种方法实现:

方法一:使用二维数组

1. 定义一个二维数组来存储杨辉三角的数字。

2. 使用嵌套循环计算和打印每一行的数字。外层循环控制行数,内层循环计算每个位置的数字。

3. 在内层循环中,计算每个位置的数字,即当前位置等于上一行的当前位置加上前一个位置的数字。

4. 最后打印每一行的数字,确保它们正确地对齐。

示例代码如下:

```c

include

int main() {

int numRows;

printf("请输入需要打印的行数: ");

scanf("%d", &numRows);

int triangle[numRows][numRows];

// 初始化数组,第一列和对角线上的数字为1

for (int i = 0; i < numRows; i++) {

triangle[i] = 1;

triangle[i][i] = 1;

}

// 计算其他位置上的数字

for (int i = 1; i < numRows; i++) {

for (int j = 1; j < i; j++) {

triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];

}

}

// 打印杨辉三角

for (int i = 0; i < numRows; i++) {

for (int j = 0; j <= i; j++) {

printf("%d ", triangle[i][j]);

}

printf("\n");

}

return 0;

}

```

方法二:使用组合数公式

1. 定义一个函数来计算组合数C(n, k)。

2. 使用组合数公式计算杨辉三角第n行的每个数字。

3. 打印结果。

示例代码如下:

```c

include

// 计算组合数C(n, k)

int fac(int number) {

if (number == 1 || number == 0) {

return 1;

} else {

return fac(number - 1) * number;

}

}

int main() {

int numRows;

printf("请输入需要打印的行数: ");

scanf("%d", &numRows);

// 打印杨辉三角

for (int i = 0; i < numRows; i++) {

// 打印前导空格

for (int j = 0; j < numRows - i - 1; j++) {

printf(" ");

}

// 打印每行的数字

for (int j = 0; j <= i; j++) {

printf("%4d", fac(i) / (fac(j) * fac(i - j)));

}

printf("\n");

}

return 0;

}

```

这两种方法都可以实现杨辉三角的输出,选择哪种方法取决于具体的需求和偏好。