#include <stdio.h>
int main(void)
{
int i,j,k; //定义i遍历行,j遍历列,k控制空格
int a[5][5]; //定义10行10列的二维数组
printf("\n");
for(i=0;i<5;i++) //数组从第0行开始到第9行
{a[i][0]=1; //每行第一个元素都是1
a[i][i]=1;} // 每列的第一个元素都为1
for(i=2;i<5;i++) //从第三行开始
for (j=1;j<i;j++) //从第二列开始
a[i][j]=a[i-1][j-1]+a[i-1][j]; //(1除外)所有的数为上面和左上两数的和 !精髓!
for(i=0;i<5;i++)//遍历行
{
for (k=1;k<=4-i;k++) //每次空格数量-1
printf(" ");
for(j=0;j<=i;j++) //遍历列
printf("%2d",a[i][j]); //将其输出
printf("\n");
}
return 0;
}