用c语言编写一个菱形的杨辉三角程序
时间: 2024-12-20 20:27:58 浏览: 7
在C语言中,我们可以使用嵌套循环结构来打印出杨辉三角。杨辉三角是一种数学术语,每一行的数字都是前一行的数字之和,而且对角线上的数字总是1。菱形的杨辉三角意味着只显示前几行形成一个上小下大的菱形状。下面是一个简单的示例:
```c
#include <stdio.h>
// 函数用于打印杨辉三角
void printPascalTriangle(int n) {
for (int i = 0; i <= n; ++i) {
// 打印当前行
for (int j = 0; j <= i; ++j) {
// 对角线和外边缘始终为1
if (j == 0 || j == i)
printf("%d ", 1);
else
printf("%d ", Pascal_triangle[i - 1][j - 1]); // 计算并打印当前位置的值
}
// 每行结束换行
printf("\n");
}
}
// 杨辉三角存储数组,初始化为1
int Pascal_triangle[100][100];
// 初始化数组
void initializePascalTriangle() {
for (int i = 0; i < 100; ++i) {
Pascal_triangle[i][0] = Pascal_triangle[i][i] = 1;
}
for (int row = 2; row < 100; ++row) {
for (int col = 1; col < row; ++col) {
Pascal_triangle[row][col] = Pascal_triangle[row - 1][col - 1] + Pascal_triangle[row - 1][col];
}
}
}
int main() {
int rows_to_print = 5; // 要打印的菱形行数
initializePascalTriangle();
printPascalTriangle(rows_to_print);
return 0;
}
```
在这个程序中,`initializePascalTriangle()` 函数首先填充了整个杨辉三角数组,然后 `printPascalTriangle()` 函数按行打印出来。注意,因为实际需求可能是有限的,这里假设数组大小足够大。
阅读全文