用c语言写出杨辉三角形的前n行,输入一个正整数n(n<20)的代码)
时间: 2024-05-06 22:19:22 浏览: 7
以下是用C语言编写输出杨辉三角形前n行的代码:
```
#include <stdio.h>
int main()
{
int n, i, j, k, a[20][20];
printf("请输入一个正整数n(n<20):\n");
scanf("%d", &n);
printf("杨辉三角形前%d行如下所示:\n", n);
for(i = 0; i < n; i++)
{
for(j = 0; j <= i; j++)
{
if(j == 0 || i == j)
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
printf("%-4d", a[i][j]);
}
printf("\n");
}
return 0;
}
```
希望能够帮到您,如有其他问题请随时提出。
相关问题
C语言输入一个整数n,打印n行杨辉三角形。
好的,这是一个经典的编程题。下面是使用C语言编写的打印n行杨辉三角形的代码:
```
#include <stdio.h>
// 计算杨辉三角中第i行第j列的数值
int calc(int i, int j)
{
if (j == 1 || j == i) {
return 1;
} else {
return calc(i-1, j-1) + calc(i-1, j);
}
}
int main()
{
int n;
printf("请输入要打印的杨辉三角的行数:\n");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
printf("%d ", calc(i, j));
}
printf("\n");
}
return 0;
}
```
需要注意的是,在本程序中使用了递归算法来计算杨辉三角中的数值,可能对于非常大的行数会导致性能问题。因此,如果需要处理大型杨辉三角,建议使用非递归算法,可以参考其他相关资料进行优化。
python写一个简单代码:输入一个整数n,输出n行的杨辉三角形
以下是一个简单的 Python 代码,可以输出 n 行的杨辉三角形:
```python
n = int(input("请输入要输出的行数:"))
# 初始化杨辉三角形
triangle = [[1]]
# 构建杨辉三角形
for i in range(1, n):
# 添加新的一行
row = [1]
# 计算中间的数字
for j in range(1, i):
num = triangle[i-1][j-1] + triangle[i-1][j]
row.append(num)
# 添加最后一个数字
row.append(1)
# 添加这一行到杨辉三角形中
triangle.append(row)
# 输出杨辉三角形
for row in triangle:
for num in row:
print(num, end=" ")
print()
```
运行程序后,输入要输出的行数,即可得到相应行数的杨辉三角形。