杨辉三角形c语言程序
时间: 2023-11-19 14:57:38 浏览: 110
以下是用C语言实现杨辉三角的程序:
```c
#include <stdio.h>
int main() {
int rows, coef = 1, space, i, j;
printf("请输入行数:");
scanf("%d", &rows);
for (i = 0; i < rows; i++) {
for (space = 1; space < rows - i; space++)
printf(" ");
for (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;
}
```
运行程序后,输入行数即可输出对应行数的杨辉三角形。程序中使用了两个for循环,第一个循环用于控制行数,第二个循环用于控制每一行的输出。在第二个循环中,使用了组合数的公式来计算每个数字的值。
相关问题
杨辉三角形c语言程序思路
这个C语言程序的思路是使用二维数组来存储杨辉三角形的每个元素,然后使用两个for循环来计算每个元素的值。具体思路如下:
1.首先定义一个N*N的二维数组a,其中N表示杨辉三角形的行数。
2.然后使用两个for循环来初始化数组a,使得每一行的首位都是1。
3.接着使用另外一个for循环来计算每个元素的值,具体计算方法是:每个元素的值等于它上一行的左上角和右上角元素之和。
4.最后使用两个for循环来输出数组a中的每个元素,从而得到完整的杨辉三角形。
下面是这个程序的具体实现代码:
```c
#include <stdio.h>
#define N 7
int main() {
int i,j;
int a[N][N];
// 初始化数组a
for(i = 0; i < N; i++) {
a[i][i] = 1; // 每一行的末尾都是1
a[i][0] = 1; // 每一行的首位都是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; j++) {
printf("%6d", a[i][j]);
}
printf("\n");
}
return 0;
}
```
打印杨辉三角形c语言程序
以下是打印杨辉三角形的C语言程序:
```c
#include <stdio.h>
int main() {
int arr[10][10] = {0}; // 初始化数组
int n, i, j;
printf("请输入要打印的行数:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
arr[i][0] = 1; // 每行第一个数为1
for (j = 1; j <= i; j++) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; // 计算杨辉三角形中的数字
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n - i - 1; j++) {
printf(" "); // 打印空格
}
for (j = 0; j <= i; j++) {
printf("%-3d ", arr[i][j]); // 打印数字
}
printf("\n"); // 换行
}
return 0;
}
```