class Program
{ const int N=10;
static void Main(string[] args)
{ int i,j;
int[,] a=new int[N,N];
for (i=1;i<N;i++) //1列和对角线元素均为1
{ a[i,i]=1; a[i,1]=1; }
for (i=3;i<N;i++) //求第3~N行的元素值
for (j=2;j<=i-1;j++)
a[i,j]=a[i-1,j-1]+a[i-1,j];
for (i=1;i<N;i++) //输出数序
{ for (j=1;j<=i;j++)
Console.Write("{0,-2} ",a[i,j]);
Console.WriteLine();
}
}为什么输出九行的杨辉三角,定义的却是十行十列的数组,Console.Write("{0,-2} ",a[i,j]);
{0,-2}是什么意思,为什么是{0,-2}
{ const int N=10;
static void Main(string[] args)
{ int i,j;
int[,] a=new int[N,N];
for (i=1;i<N;i++) //1列和对角线元素均为1
{ a[i,i]=1; a[i,1]=1; }
for (i=3;i<N;i++) //求第3~N行的元素值
for (j=2;j<=i-1;j++)
a[i,j]=a[i-1,j-1]+a[i-1,j];
for (i=1;i<N;i++) //输出数序
{ for (j=1;j<=i;j++)
Console.Write("{0,-2} ",a[i,j]);
Console.WriteLine();
}
}为什么输出九行的杨辉三角,定义的却是十行十列的数组,Console.Write("{0,-2} ",a[i,j]);
{0,-2}是什么意思,为什么是{0,-2}
(2){0,-2}表示每个数字占2个字母的位置。这样让打印出来的数字整齐呈现三角形状。
你可以试下Console.Write("{0} ",a[i,j]);,那么0~9的数字只占用1位,就乱了。