请教C语言
题目:输出杨辉三角形(要求输出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
…… …… ……
(提示,使用二维数组)
#include<stdio.h>
void main()
{
int a[11][11],i,j,n;
for(i=0;i<11;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for (i=2;i<11;++i)
{
for(j=1;j<i;++j)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for (i=0;i<11;++i)
{
for (j=0;j<10-i;++j)
{
printf(" ");
}
for(j=0;j<=i;++j)
{
printf("%3d ",a[i][j]);//这个地方为什么用数字3,这里的3是什么意思,怎么来确定其大小,这里的3是限制a[i][j]的位数吗?
}
printf("\n");
}
}
哪位大侠帮我科普下,这个问题我想了好久都没想明白,谢谢了!