用c语言输出杨辉三角前10行
时间: 2024-12-29 12:32:26 浏览: 9
在C语言中,我们可以使用嵌套循环和动态内存分配来打印出杨辉三角的前10行。杨辉三角是一个数学术语,每一行的数字是通过上一行的数字相加得到的,最底层是1,然后依次递增。
以下是一个简单的C程序示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义数组大小
#define ROWS 10
void printPascalTriangle(int** triangle, int rows) {
// 初始化第一行
for (int i = 0; i <= rows; ++i) {
triangle[i][0] = triangle[0][i] = 1;
printf("%d ", triangle[i][0]);
}
printf("\n");
// 打印剩余的行
for (int i = 1; i < rows; ++i) {
for (int j = 1; j < i + 1; ++j) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
printf("%d ", triangle[i][j]);
}
printf("\n");
}
}
int main() {
// 动态创建数组
int** triangle = (int**)malloc(sizeof(int*) * ROWS);
for (int i = 0; i < ROWS; ++i) {
triangle[i] = (int*)malloc(sizeof(int) * (i + 1));
}
printPascalTriangle(triangle, ROWS);
// 释放内存
for (int i = 0; i < ROWS; ++i)
free(triangle[i]);
free(triangle);
return 0;
}
```
当你运行这个程序,它会打印出杨辉三角的前10行。注意,在使用完后别忘了释放动态分配的内存。
阅读全文