int n;
Console.WriteLine("请输入杨辉三角的行数:\nn=");
n=int.Parse(Console.ReadLine());
int [][] s=new int [n][];
int i, j;
for (i = 1; i <=n; i++)
{
s[i][0] = 1;
s[i][i] = 1;
for(j=1;j>2;j++)
{
s[i][j] = s[i - 1][j - 1] + s[i - 1][j];
if (j <= 2)
{
break;
}
}
if (i > n)
{
break;
}
Console.WriteLine(s);
}
Console.ReadLine();
s[i] 也是个一维数组,要使用new int[]初始化。Console.WriteLine(s);数组不能这样输出的。
你能说一下我这个程序具体应该怎么改么
@一场空:
int n;
Console.WriteLine("请输入杨辉三角的行数:\nn=");
n = int.Parse(Console.ReadLine());
int[][] s = new int[n][];
int i, j;
for (i = 0; i < n; i++)
{
s[i] = new int[i+1];
s[i][0] = 1;
s[i][i] = 1;
for (j=1; j<i; j++)
{
s[i][j] = s[i - 1][j - 1] + s[i - 1][j];
}
for(int k=0;k<i+1;k++)
Console.Write(s[i][k]+" ");
Console.WriteLine("");
}
Console.ReadLine();
@授之以渔:
谢谢你,我刚刚接触C#,不是很了解。你能解释一下你加的这两行代码是什么意思么?
s[i] = new int[i + 1];
for (int k = 0; k < i + 1; k++)
Console.Write(s[i][k] + " ");
@一场空: s 的声明是一个二维数组的结构
new int [n][];二维数组是个矩形.
你这个只有一个n下面又直接给第二微赋值.肯定不行啊.你至少要
s[i]=new int[100],这个样子.