c语言使用动态内存分配实现杨辉三角
时间: 2023-12-11 08:48:53 浏览: 84
C语言实现杨辉三角
以下是使用动态内存分配实现杨辉三角的 C 语言代码:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, j, **arr;
printf("Enter the number of rows: ");
scanf("%d", &n);
// Allocate memory for the array
arr = (int **)malloc(n * sizeof(int *));
for (i = 0; i < n; i++) {
arr[i] = (int *)malloc((i + 1) * sizeof(int));
}
// Fill the array with values
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
if (j == 0 || j == i) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
}
// Print the array
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// Free the allocated memory
for (i = 0; i < n; i++) {
free(arr[i]);
}
free(arr);
return 0;
}
```
在该代码中,我们首先使用 `malloc()` 函数为二维数组 `arr` 分配内存,然后使用两个嵌套的循环来填充数组,并最终将其打印出来。最后,我们使用 `free()` 函数释放为数组分配的内存。
阅读全文