用c语言程序写出杨辉三角
时间: 2023-12-13 10:34:24 浏览: 103
以下是用C语言程序写出杨辉三角的例子:
```c
#include <stdio.h>
int main() {
int n, i, j;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
int a[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("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
相关问题
用C语言写出杨辉三角的
杨辉三角是一个数学术语,它展示了二项式系数(n choose k)的关系,通常通过递归或动态规划的方式在二维数组中构建。在C语言中,我们可以使用循环结构来生成杨辉三角。这里是一个简单的C程序示例,使用嵌套循环来打印杨辉三角:
```c
#include <stdio.h>
// 用于存储当前行的二维数组
int triangle[50][50];
// 打印杨辉三角的函数
void printPascalTriangle(int n) {
for (int line = 0; line <= n; line++) {
// 初始化当前行的第一个和最后一个元素为1
triangle[line] = triangle[line][line] = 1;
printf("%d ", triangle[line]); // 打印当前行的值
// 从1到当前行数-2打印中间的元素
for (int i = 1; i < line; i++) {
triangle[line][i] = triangle[line - 1] + triangle[line - 1][i];
printf("%d ", triangle[line][i]);
}
printf("\n"); // 换行
}
}
int main() {
int rows;
printf("Enter the number of rows for the Pascal's Triangle: ");
scanf("%d", &rows);
printPascalTriangle(rows);
return 0;
}
```
用c语言写出杨辉三角
### 回答1:
以下是在 C 语言中实现杨辉三角的代码:
```
#include <stdio.h>
#define MAX_ROW 10
int main()
{
int i, j;
int triangle[MAX_ROW][MAX_ROW];
for (i = 0; i < MAX_ROW; i++) {
triangle[i][0] = 1;
triangle[i][i] = 1;
for (j = 1; j < i; j++) {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];
}
}
for (i = 0; i < MAX_ROW; i++) {
for (j = 0; j <= i; j++) {
printf("%d ", triangle[i][j]);
}
printf("\n");
}
return 0;
}
```
代码的功能是通过循环计算并输出杨辉三角的前 `MAX_ROW` 行。
### 回答2:
杨辉三角也被称为帕斯卡三角形,是由数字组成的三角形。下面是用C语言写出杨辉三角的代码:
```c
#include <stdio.h>
void printYanghuiTriangle(int n) {
int triangle[n][n];
int i, j;
// 初始化杨辉三角的第一列和对角线
for(i = 0; i < n; i++) {
triangle[i][0] = 1;
triangle[i][i] = 1;
}
// 逐行计算杨辉三角的值
for(i = 2; i < n; i++) {
for(j = 1; j < i; j++) {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];
}
}
// 打印杨辉三角
for(i = 0; i < n; i++) {
for(j = 0; j <= i; j++) {
printf("%d ", triangle[i][j]);
}
printf("\n");
}
}
int main() {
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
printYanghuiTriangle(n);
return 0;
}
```
上述代码使用了一个二维数组来表示杨辉三角,并采用了动态规划的方式进行计算。首先,对杨辉三角的第一列和对角线进行初始化。然后,使用循环逐行计算杨辉三角的每个元素的值,通过当前行的上一行相邻两个元素之和来进行计算。最后,遍历整个二维数组,打印出杨辉三角形的每一行。输入的`n`代表杨辉三角形的行数,执行程序后即可打印出相应的杨辉三角形。
### 回答3:
杨辉三角是一个由数字组成的三角形,数字在三角形的两边都是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;
}
```
以上程序中,我们使用两个嵌套的循环来遍历每一行和每一列。外部的循环用来控制打印的行数,内部的循环用来计算每个位置上的数字。在内循环中,我们首先检查当前位置是否在三角形的边界上,是的话则将 coef 设置为 1,否则使用组合公式计算 coef 的值。最后,我们打印出 coef 的值,并在每行结束后换行。
通过输入行数,我们可以修改程序的输出,得到对应行数的杨辉三角。例如,输入 5,程序将打印出一个包含 5 行的杨辉三角:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
阅读全文