用C语言编杨辉三角形
时间: 2024-11-29 08:14:46 浏览: 17
杨辉三角形简介及用C语言打印杨辉三角形
在C语言中,杨辉三角(Pascal's Triangle)是一个经典的组合数学问题,通常用递归或动态规划的方式来实现。这里给出一个简单的动态规划版本的C程序示例:
```c
#include <stdio.h>
// 定义一个二维数组存储杨辉三角
int triangle[100][100];
void print_pascal_triangle(int n) {
// 初始化第一行和第二行
for (int i = 0; i <= n; ++i) {
triangle[i][0] = triangle[i][i] = 1;
}
// 打印三角形
for (int row = 2; row <= n; ++row) {
for (int col = 1; col < row; ++col) {
triangle[row][col] = triangle[row - 1][col - 1] + triangle[row - 1][col];
printf("%d ", triangle[row][col]);
}
printf("\n");
}
}
int main() {
int rows;
printf("Enter the number of rows for Pascal's Triangle: ");
scanf("%d", &rows);
if (rows > 0) {
print_pascal_triangle(rows);
} else {
printf("Invalid input. Rows should be a positive integer.\n");
}
return 0;
}
```
这个程序会提示用户输入想要打印的杨辉三角的行数,然后按行显示。注意,因为三角形大小受限于数组,所以一般只能处理较小的行数。
阅读全文