数据结构c语言书写杨辉三角
时间: 2023-06-22 08:19:12 浏览: 49
杨辉三角是一种数学图形,它由数字组成,数字在三角形的第一行和最后一行都是1,其他位置上的数字是它正上方和左上方的两个数字之和。下面是用C语言实现杨辉三角的代码:
```c
#include <stdio.h>
int main()
{
int rows, i, j, coef = 1;
printf("Enter the number of rows: ");
scanf("%d", &rows);
for(i=0; i<rows; 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;
}
```
运行程序,输入一个正整数作为行数,即可输出对应行数的杨辉三角。例如,输入5,输出如下:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
这段代码的实现原理是,外层循环控制输出的行数,内层循环控制输出每一行的数字。在内层循环中,通过计算组合数的方法来得到每个位置上的数字,然后输出即可。
相关问题
c语言打印杨辉三角形
在C语言中,可以使用嵌套循环和数组来打印杨辉三角形。下面是一个示例代码:
```c
#include <stdio.h>
void printPascalTriangle(int n) {
int triangle[n][n];
// 初始化杨辉三角形的第一列和对角线为1
for (int i = 0; i < n; i++) {
triangle[i][0] = 1;
triangle[i][i] = 1;
}
// 计算杨辉三角形的其他元素
for (int i = 2; i < n; 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 < n; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", triangle[i][j]);
}
printf("\n");
}
}
int main() {
int rows;
printf("请输入要打印的杨辉三角形的行数:");
scanf("%d", &rows);
printPascalTriangle(rows);
return 0;
}
```
运行以上代码,输入要打印的杨辉三角形的行数,即可输出相应行数的杨辉三角形。
C语言打印杨辉三角形
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;
}
```
运行该程序,输入所需的行数,即可打印出相应的杨辉三角形。