用c语言编写出,杨辉三角
时间: 2024-09-13 11:02:03 浏览: 33
C语言小程序 杨辉三角示例代码
杨辉三角是一个数学术语,在数学上表示成一个菱形结构,每一行的数字是前一行两个相邻数字之和。下面是用C语言编写的一个简单函数,用于打印杨辉三角:
```c
#include <stdio.h>
// 打印杨辉三角的递归函数
void printPascalTriangle(int n) {
if (n <= 0)
return;
// 打印第一行和第一列的1
for (int i = 0; i <= n; i++) {
printf("%d ", i + 1);
}
printf("\n");
// 从第二行开始,计算并打印每个元素
for (int i = 1; i < n; i++) {
for (int j = 0; j <= i - 1; j++) {
printf("%d ", pascal_triangle[i - 1][j]);
}
printf("%d\n", pascal_triangle[i][i]); // 当前行最后一个元素
for (int j = i; j > 0; j--) { // 后面的元素
printf("%d ", pascal_triangle[i][j - 1]);
}
printf("\n");
}
}
// 存储杨辉三角值的动态数组
int pascal_triangle[100][100];
int main() {
int rows;
printf("Enter the number of rows for Pascal's Triangle: ");
scanf("%d", &rows);
// 初始化pascal_triangle数组,因为杨辉三角的大小取决于输入的行数
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i)
pascal_triangle[i][j] = 1;
else
pascal_triangle[i][j] = pascal_triangle[i - 1][j - 1] + pascal_triangle[i - 1][j];
}
}
printPascalTriangle(rows);
return 0;
}
```
阅读全文