int a[10][10];
int i,j,h;
scanf_s("%d",&h);//想打印的行数
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
if (j>i)
a[i][j] = 0;// 对列大于行的元素清零
for (i = 0, j = 0; i < 10; i++)
a[i][0] = 1;//把第一列全部变成1
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
if (j = i)
a[i][j] = 1;//把对角线的元素全变成1
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
if (i>0 && j>0)
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];//只要不是第一行的或者第一列的全都按这个规律,这个元素等于它上面的加左上面的元素。
for (i = 0; i < h + 1; i++)
{
for (j = 0; j < h+1; j++)
{ if (i>=j)
printf("%d", a[i][j]);
}
printf("\n");
}//把每一行都打印出来,前提是行大于或等于列。
请大神们不吝赐教,哪错了