using System;
class Test
{
public static void Main()
{
int[,] a=new int[5,5];
a[0,0]=1;
for(int i=1;i<=5;i++){
a[i,0]=1;
a[i,i]=1;
for(int j=1;j<i;j++){
a[i,j]=a[i-1,j-1]+a[i-1,j];
}
}
for(int i=0;i<5;i++){
for(int j=0;j<i;j++){
Console.WriteLine("{0}",a[i,j]);
}
Console.ReadLine();
}
}
}我的程序是这样的,照书上搬的,出现了异常,调试的时候提示说"索引超出了数组界限"
高手帮我看看啦,谢谢!
class Test
{
public static void Main()
{
int[,] a=new int[5,5];
a[0,0]=1;
for(int i=1;i<=5;i++){
a[i,0]=1;
a[i,i]=1;
for(int j=1;j<i;j++){
a[i,j]=a[i-1,j-1]+a[i-1,j];
}
}
for(int i=0;i<5;i++){
for(int j=0;j<i;j++){
Console.WriteLine("{0}",a[i,j]);
}
Console.ReadLine();
}
}
}我的程序是这样的,照书上搬的,出现了异常,调试的时候提示说"索引超出了数组界限"
高手帮我看看啦,谢谢!
========================〉
for(int i=0;i<5;i++)
using System;class Test
{
static void Main()
{
int[,] a = new int[5, 5];
a[0, 0] = 1;
for (int i = 1; i < 5; i++)
{
a[i, 0] = 1;
a[i, i] = 1;
for (int j = 1; j < i; j++)
{
a[i, j] = a[i - 1, j - 1] + a[i - 1, j];
}
}
for (int i = 0; i < 5; i++)
{
for (int j = 0; j <= i; j++)
{
Console.Write("{0}", a[i, j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
class Test
{
public static void Main()
{
int[,] a=new int[5,5];
a[0,0]=1;
for(int i=1;i<=5;i++){ //这里出问题了,应把i<=5改为i<5
//这里i的最大值为4
a[i,0]=1;
a[i,i]=1;
for(int j=1;j<i;j++){ //这里j<i改为j<=i
a[i,j]=a[i-1,j-1]+a[i-1,j];
}
}
for(int i=0;i<5;i++){
for(int j=0;j<i;j++){
Console.WriteLine("{0}",a[i,j]);
}
Console.ReadLine();
}
}
}
1 1
1 2 1
1 3 3 1
1 4 6 4 1
要想得到这种输出用以下代码: class Test
{
public static void Main()
{
int[,] a = new int[5, 5];
a[0, 0] = 1;
for (int i = 1; i < 5; i++)
{
a[i, 0] = 1;
a[i, i] = 1;
for (int j = 1; j < i; j++)
{
a[i, j] = a[i - 1, j - 1] + a[i - 1, j];
}
}
for (int i = 0; i < 5; i++)
{ for (int k = 0; k < 31 - 2 * i; k++) //对输出格式处理
Console.Write(" "); for (int j = 0; j <= i; j++)
{
Console.Write(" {0} ", a[i, j]);
}
Console.WriteLine();
}
Console.ReadLine();
}
}