输入行数打印杨辉三角: #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <malloc.h> int main() { int row; printf("输入要打印的行数:\n"); scanf("%d", &row); // 动态二维数组 int** arr = (int**)malloc(sizeof(int*) * row); for (int i = 0; i < row; ++i) { arr[i] = (int*)malloc(sizeof(int) * (i + 1)); } for (int i = 0; i < row; ++i) { arr[i][0] = 1; arr[i][i] = 1; } for (int i = 2; i < row; ++i) { for (int j = 1; j < i; ++j) { arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; } } for (int i = 0; i < row; ++i) { for (int j = 0; j <= i; ++j) { printf("%d\t", arr[i][j]); } printf("\n"); } // 防止内存泄漏,释放空间 for (int i = 0; i < row; ++i) { free(arr[i]); } free(arr); return 0; } 运行结果: