c语言用数组打印杨辉三角形
时间: 2023-11-24 17:50:43 浏览: 60
以下是使用C语言数组打印杨辉三角形的代码:
```c
#include <stdio.h>
int main() {
int rows, coef = 1;
printf("请输入行数: ");
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;
}
```
运行结果如下:
```
请输入行数: 6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
相关问题
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
```
用C语言数组写一个杨辉三角形
以下是使用C语言数组写的杨辉三角形代码:
```c
#include<stdio.h>
int main() {
int n, i, j;
printf("请输入要打印的行数:\n");
scanf("%d", &n);
int a[n][n];
// 初始化杨辉三角形第一行
for(i = 0; i < n; i++) {
a[0][i] = 1;
}
// 构造杨辉三角形其他行
for(i = 1; i < n; i++) {
for(j = 0; j < n-i; j++) {
printf(" ");
}
for(j = 0; j <= i; j++) {
if(j == 0 || j == i) {
a[i][j] = 1;
} else {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
该程序先要求用户输入要打印的行数n,然后根据杨辉三角形的构造规律,使用二维数组a[n][n]存储杨辉三角形的每个元素值,最后打印出整个杨辉三角形。在构造杨辉三角形时,先初始化第一行为1,然后逐行构造,使用一个循环控制每行前面的空格数,使用另一个循环控制每行的元素值,并将元素值存储到数组a[n][n]中。