c语言怎么实现正三角的杨辉三角
时间: 2024-09-24 12:06:37 浏览: 28
数据结构——基于C语言实现杨辉三角
在C语言中,我们可以使用二维数组来存储并打印杨辉三角。杨辉三角是一个数学术语,每一行代表一个阶乘组合系数,从左上角开始,每个数字等于其上方两个数字之和。下面是一个简单的C程序示例,用于打印前几行的杨辉三角:
```c
#include <stdio.h>
// 定义一个动态大小的二维数组
int** create_triangle(int rows) {
int** triangle = (int **)malloc(rows * sizeof(int *));
for (int i = 0; i < rows; ++i) {
triangle[i] = (int *)malloc((i + 1) * sizeof(int));
triangle[i][0] = triangle[i][i] = 1;
}
return triangle;
}
// 打印杨辉三角
void print_triangle(int** triangle, int rows) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j <= i; ++j) {
printf("%d ", triangle[i][j]);
}
printf("\n");
}
// 释放内存
for (int i = 0; i < rows; ++i) {
free(triangle[i]);
}
free(triangle);
}
int main() {
int rows;
printf("请输入杨辉三角的行数(建议不超过10): ");
scanf("%d", &rows);
if (rows > 0) {
int** triangle = create_triangle(rows);
print_triangle(triangle, rows);
}
return 0;
}
```
运行这个程序时,它会提示用户输入想要打印的杨辉三角的行数,然后按行显示。记得在退出程序前释放动态分配的内存。
阅读全文