#include <stdio.h> int main() { //定义二维数组 int arr[100][100] = { 0 }; //输入行数 int n = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { //每个数的端点数为1 arr[i][j * i] = 1; //判断是否在端点数以内 if (i >= 2 && j >= 1 && j < i) { //计算左上方和上方的值 arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; } } } //打印杨辉三角 for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { printf("%5d", arr[i][j]); } printf("\n"); } return 0; }