#include<stdio.h> int main() { int n = 0; scanf("%d",&n); int arr[100][100]={0};//创建二维数组 int i = 0; int j = 0; for(i=0;i<n;i++)//控制行 { for(j=0;j<n;j++)//控制列 { if(j==0)//第一列全部打印成1 { arr[i][j]=1; } else if(i==j)//主对角线全部打印成1 { arr[i][j]=1; } if(i>=2&&j>=1)//杨辉三角是从第三行开始变化 第三行的 2 的坐标为arr[2][1] { arr[i][j]=arr[i-1][j]+arr[i-1][j-1]; }//这个2 是上一行的第一列 和第二列相加得出 以此类推 } } for(i=0;i<n;i++)//打印杨辉三角 { for(j=0;j<=i;j++) { printf("%5d",arr[i][j]); } printf("\n"); } return 0; }