CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

请教:杨辉三角问题(运行结果不正确)

楼主lanyi2003(印象浪子)2006-03-19 20:30:20 在 Java / J2SE / 基础类 提问

题目要求输出如下形式:  
                                1  
                              1   1  
                            1   2   1  
                          1   3   3   1  
                        1   4   6   4   1  
                      ~~~~~~~~~~~  
  我用JAVA编写的代码如下:  
  public   class   YangHui{  
  public   static   void   main(String   args[]){  
        int   i=1,j=1,n=8;  
                          int   a[][]=new   int[20][20];  
                          for(i=1;i<=n;i++)  
                              {      
                                a[i][n-i+1]=1;//问题:若我只运行赋1这段程序,为什么除1的其他地方会输出0    
                                a[i][n+i-1]=1;    
                            }  
                        for(i=3;i<=n;i++)  
                        for(;j>n-i+1&&j<n+i-1;)  
                                a[i][j]=a[i-1][j-1]+a[i-1][j+1];  
                        for(i=1;i<=n;i++)  
                            {   for(j=1;j<=2*n-1;j++)  
                                if(a[i][j]==0)  
                                    System.out.print('   ');//问题:若此处我不用这个if语句,则以下输出结果  
  //   除1之外全为0,为什么(和上面的问题性质差不多)??  
                                else    
                                  System.out.print(a[i][j]);  
                                System.out.println();          
            }        
    }  
  }    
  我的输出结果是:  
                                1  
                              1   1  
                            1       1  
                          1           1  
                        1               1  
  中间没有数字  
   
   
  请高手指教错在什么地方了? 问题点数:5、回复次数:3Top

1 楼gqjin(gqjin)回复于 2006-03-19 22:03:35 得分 2

public   class   Print{  
  public   static   void   main(String   []   args)  
  {  
  Print   myPrint=new   Print();  
  myPrint.printYH();  
  }  
  void   PrintA()  
  {  
  System.out.println("aa");  
  }  
  void   printYH()  
  {  
      int   a[][]=new   int[8][8];  
      int   i=0,j=0;  
      a[0][0]=1;  
      for   (i=1;i<=6;i++   )  
      {  
      for   (j=1;j<=6;j++   )  
      {  
      a[i][j]=a[i-1][j-1]+a[i-1][j];  
      System.out.print("   "+a[i][j]);  
      }  
      System.out.println();  
      }  
  }  
  }  
  试试上面的Top

2 楼flyflyba(爱编程的菜鸟)回复于 2006-03-19 22:40:12 得分 3

我的修改  
  public   class   Yanghuisanjiao{  
  public   static   void   main(String   args[]){  
  int   a[][]=new   int[30][30];  
  int   i=1,j=1,n=8;  
  for(i=1;i<=n;i++){  
  a[i][n-i+1]=1;  
  a[i][n+i-1]=1;  
  }  
  for(i=3;i<=n;i++){  
  for(j=n-i+1+2;j<n+i-1;j=j+2){  
  a[i][j]=a[i-1][j-1]+a[i-1][j+1];  
  }  
  }  
  System.out.println(a[0][0]);  
  for(i=1;i<=n;i++){  
  for(j=1;j<=n*2-1;j++){  
  if(a[i][j]==0)  
  System.out.print("     ");  
  else   if(a[i][j]<10)  
  System.out.print("   "+a[i][j]);  
  else   System.out.print(a[i][j]);  
   
  }  
  System.out.println();  
  }  
  }  
  }Top

3 楼lanyi2003(印象浪子)回复于 2006-03-19 22:49:01 得分 0

问题已经解决  
  我找到错的地方了,错在:for(;j>n-i+1&&j<n+i-1;)  
                                                        a[i][j]=a[i-1][j-1]+a[i-1][j+1];  
   
  Top

相关问题

  • 关于杨辉三角!
  • 啥是杨辉三角形啊?
  • 请给出打印杨辉三角形的C代码
  • 谁可以给我求解杨辉三角形的程序~~~~急
  • 救命啊!!!队列的应用--打印杨辉三角
  • 关于杨辉三角的一个需调试程序
  • 那位兄弟帮我写一个杨辉三角形的程序?
  • 在VC上运行结果正确,在TC运行结果错误
  • 求栈实现后缀表达式的计算,和队列实现杨辉三角输出的代码
  • ********杨辉三角形*********一维数组来实现*************我算法对的,就是不能对齐*************

关键词

得分解答快速导航

  • 帖主:lanyi2003
  • gqjin
  • flyflyba

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo