用C语言输出杨辉三角的前n行
时间: 2024-09-30 18:02:00 浏览: 60
在C语言中,我们可以使用循环结构来生成并打印杨辉三角(Pascal's Triangle)。杨辉三角是一个数学术语,每一行的数字由上一行的相邻两个数字相加得到。以下是生成前n行的简单实现:
```c
#include <stdio.h>
void printPascalTriangle(int n) {
for (int line = 0; line < n; line++) {
// 每一行的开始和结束都有一个1
printf("%d ", 1);
// 计算当前行除了两端的其他元素
int num = 1;
for (int i = 1; i < line; i++) {
printf("%d ", num);
num = num * (line - i) / i; // 杨辉三角公式计算当前位置的值
}
printf("\n"); // 行结束换行
}
}
int main() {
int n;
printf("请输入想要打印的杨辉三角的行数: ");
scanf("%d", &n);
printPascalTriangle(n);
return 0;
}
```
当你运行这个程序并输入想要打印的行数时,它会按照规律生成并显示相应的杨辉三角。
相关问题
用c语言输出杨辉三角前五行
下面是用 C 语言输出杨辉三角前五行的代码:
#include <stdio.h>
int main() {
int numRows = 5;
int triangle[numRows][numRows];
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
triangle[i][j] = 1;
} else {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];
}
printf("%d ", triangle[i][j]);
}
printf("\n");
}
return 0;
}
输出结果为:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
用c语言输出杨辉三角前十行
以下是使用C语言输出杨辉三角前十行的代码:
```c
#include <stdio.h>
int main() {
int rows = 10, coef = 1;
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;
}
```
输出结果为:
```
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
```
阅读全文