用c语言二维数组实现输出杨辉三角形
时间: 2023-10-25 14:27:50 浏览: 387
好的,以下是用 C 语言二维数组实现输出杨辉三角形的代码:
```c
#include <stdio.h>
int main() {
int rows, coef = 1;
printf("Enter the number of rows: ");
scanf("%d", &rows);
for (int i = 0; i < rows; i++) {
for (int space = 1; space <= rows - i; space++)
printf(" ");
for (int j = 0; j <= i; j++) {
if (j == 0 || i == 0)
coef = 1;
else
coef = coef * (i - j + 1) / j;
printf("%4d", coef);
}
printf("\n");
}
return 0;
}
```
这个程序先让用户输入要输出的杨辉三角形的行数。然后,它使用两个嵌套的 for 循环来遍历二维数组并计算每个元素的值。内部循环计算组合系数,并使用 printf 函数打印它。外部循环控制打印每行的元素。
相关问题
请使用c语言二维数组打出杨辉三角
杨辉三角是一个经典的数学术题,它是一个由数字构成的对称金字塔结构,每一行的每个数字等于其上方两个相邻数字之和。我们可以使用C语言的嵌套循环来打印出杨辉三角。以下是简单的C代码示例:
```c
#include <stdio.h>
#define ROWS 5 // 可以根据需要调整行数
void printPascalTriangle(int row) {
for (int i = 0; i <= row; ++i) { // 遍历每一行
for (int j = 0; j <= i; ++j) { // 内层循环打印当前列的数字
printf("%d ", ((i == 0) || (j == 0) || (i == j)) ? 1 : row-i+1); // 杨辉三角规则: 如果是第一行、第一列,或者等于行数,值为1;否则为(i-j+1)
}
printf("\n"); // 换行到下一行
}
}
int main() {
printPascalTriangle(ROWS);
return 0;
}
```
当你运行这个程序时,它会打印出指定行数(例如5行)的杨辉三角。如果你想要打印更大的三角形,只需要改变`ROWS`的值即可。
c语言二维数组 打印杨辉三角形(打印10行)
下面是使用C语言二维数组打印杨辉三角形的代码,可以打印10行:
```c
#include <stdio.h>
int main() {
int rows = 10;
int coef[rows][rows];
// Initialize the first two rows
coef[0][0] = 1;
coef[1][0] = coef[1][1] = 1;
// Calculate the coefficients for remaining rows
for (int i = 2; i < rows; i++) {
coef[i][0] = 1;
for (int j = 1; j <= i; j++) {
coef[i][j] = coef[i-1][j-1] + coef[i-1][j];
}
}
// Print the coefficients in triangle shape
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", coef[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
```
阅读全文
相关推荐













