n行杨辉三角c语言程序
时间: 2023-11-16 10:01:51 浏览: 87
杨辉三角是一个数学上的概念,它是一个三角形,其中第一行只有一个数1,接下来的每一行的每个数都是它左上方和右上方的两个数之和。以下是一个输出n行杨辉三角的C语言程序:
```c
#include <stdio.h>
long yanghui(int row, int column); //声明函数
int main() {
int n;
scanf("%d", &n); //输入要输出的行数
int i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++) {
printf("%5d", yanghui(i, j)); //调用我们定义的函数
}
printf("\n");
}
return 0;
}
//定义函数,row 与 column 代表的行 与 列。
long yanghui(int row, int column) {
// 文中两个要素就在这句话体现了。
return (column == 1 || column == row) ? 1 : yanghui(row - 1, column) + yanghui(row - 1, column - 1);
}
```
相关问题
n行一半杨辉三角c语言程序
以下是n行一半杨辉三角的C语言程序:
```c
#include <stdio.h>
#define N 7
int main() {
int i,j;
int a[N][N];
for(i = 0; i < N; i++) //杨辉三角形的每一行的首位都是1
{
a[i][i] = 1;
a[i][0] = 1;
}
for(i = 2; i < N; i++) {
for(j = 1; j <= i - 1; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
for(i = 0; i < N; i++) {
for(j = 0; j <= i/2; j++) { //只输出一半的杨辉三角形
printf("%6d", a[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
```
杨辉三角c语言程序求输出n行
以下是一个C语言程序,用于输出n行杨辉三角:
```c
#include <stdio.h>
void printPascalTriangle(int n) {
int arr[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i-1][-1] + arr[i-1][j];
}
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int n = 5; // 要输出的行数
printPascalTriangle(n);
return 0;
}
```
在上面的程序中,我们定义了一个名为`printPascalTriangle`的函数,用于生成并打印杨辉三角。该函数接受一个整数`n`作为参数,表示要生成的杨辉三角的行数。在函数中,我们定义了一个二维数组`arr`,用于存储杨辉三角的值。然后,我们使用两个嵌套的循环来计算和打印杨辉三角的值。最后,在`main`函数中,我们调用`printPascalTriangle`函数并传入要输出的行数。
阅读全文