回 帖 发 新 帖 刷新版面

主题:不知道哪里出错?

请大家帮我看下,这两个程序有什么不同吗?
public class yhsj
{
  public static void main(String args[])
  {
    int i,j;
    int a[][]=new int[10][10];
    for(i=0;i<10;i++)
      {
        a[i][i]=1;
        a[i][0]=1;
       }
    for(i=2;i<10;i++)
        for(j=1;j<i-1;j++)
          a[i][j]=a[i-1][j-1]+a[i-1][j];
    for(i=0;i<10;i++)
      {
          for(j=0;j<=i;j++)
          System.out.println(a[i][j]+" ");
          System.out.println("\n");
       }
   System.out.println("\n");
}
}

与下面这个:
public class YangHui {

    public static void main(String[] args) {
        int i,j;
        int a[][]=new int[11][11]; //定义一个二维数组
        for(i=1;i<11;i++) {
            a[i][i]=1;     //对数组中的每个元素赋值1
            a[i][1]=1;
        }
        for(i=3;i<11;i++)  //从第三行开始进行累加
            for(j=2;j<=i-1;j++)
                a[i][j]=a[i-1][j-1]+a[i-1][j];
        for(i=1;i<11;i++)  //输出结果
        { for(j=1;j<=i;j++)
              System.out.print(a[i][j]+"  ");
              System.out.println("\n");
        }
        System.out.println("\n");
    }
}

回复列表 (共3个回复)

沙发

只不过是上面的程序里,
我是从0开始的,
而后面的是从1开始的,
找道理讲,输出的结果应该是一样才对啊,
为什么会截然不同呢?

板凳


public class Hello
{
  public static void main(String args[])
  {
    int i,j;
    int a[][]=new int[10][10];
    for(i=0;i<10;i++)
      {
        a[i][i]=1;
        a[i][0]=1;
       }
    for(i=2;i<10;i++)
        for(j=1;j<=i-1;j++)//将该句的j<i-1改成j<=i-1
          a[i][j]=a[i][j-1]+a[i-1][j];
    for(i=0;i<10;i++)
      {
          for(j=0;j<=i;j++)
          System.out.print(a[i][j]+" ");//将该句的println改成print
          System.out.println("\n");
       }
   System.out.println("\n");
}
}

你将第一个程序改成这样就好了,其它部分不用改.

3 楼

呵呵,
谢谢楼上的,
结果正确了.
奇怪print 与println有那么大的区别?
我翻书看看......

我来回复

您尚未登录,请登录后再回复。点此登录或注册