c语言打印出以下的杨辉三角形 ,要求用户输入行数。 最大为20行 程序运行结果如下: 6 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 (注:输出数据之间用一个空格分隔,每行最后没有空格,行之间不插入空行)
时间: 2024-01-02 21:02:56 浏览: 28
好的,下面是代码实现:
```
#include <stdio.h>
int main() {
int n;
printf("请输入杨辉三角的行数(最大为20):");
scanf("%d", &n);
if (n > 20) {
printf("输入的行数超过范围!");
return 0;
}
int arr[21][21] = {0}; // 初始化为0
for (int i = 1; i <= n; i++) {
arr[i][1] = 1; // 每行第一个数为1
for (int j = 2; j <= i; j++) {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j]; // 计算杨辉三角的值
}
}
// 输出杨辉三角
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
希望能够帮助到你!
相关问题
杨辉三角形 输出一个用C语言输出以下的杨辉三角形,要求输出10行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 输入说明: 一个10行的杨辉三角形
好的,下面是用C语言输出10行杨辉三角形的代码:
```c
#include <stdio.h>
int main() {
int n = 10; // 控制杨辉三角形的行数
int arr[n][n]; // 定义一个二维数组存储杨辉三角形的值
// 初始化第一列的值为1
for (int i = 0; i < n; i++) {
arr[i][0] = 1;
}
// 计算杨辉三角形每个位置的值
for (int i = 1; i < n; i++) {
for (int j = 1; j <= i; j++) {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
// 输出杨辉三角形
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", arr[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语言实现杨辉三角形,从键盘输入整数n,在屏幕上输出n+1行杨辉三角形
以下是用C语言实现杨辉三角形的代码:
```c
#include <stdio.h>
int main() {
int n, i, j, coef = 1;
printf("请输入要打印的行数:");
scanf("%d", &n);
for (i = 0; i <= n; i++) {
for (j = 0; j <= i; j++) {
if (j == 0 || i == 0)
coef = 1;
else
coef = coef * (i - j + 1) / j;
printf("%d ", coef);
}
printf("\n");
}
return 0;
}
```
代码中,首先从键盘输入一个整数n表示要打印的行数。然后使用两个循环嵌套,外层循环控制行数,内层循环控制列数。在内层循环中,首先判断当前列是否为第一列或当前行是否为第一行,如果是,则系数为1;否则,根据杨辉三角形的规律计算出系数。最后,在每个位置上打印出系数,并在行末换行,完成整个杨辉三角形的打印。