import java.util.*;
public class YanghuiSanjiao {
public static void main(String []args){
System.out.println("请输入行数:");
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int [][]sanjiao=new int[N][N];
int x,y=0;
sanjiao[0][0]=sanjiao[1][0]=sanjiao[1][1]=1;
for(x=2;x<sanjiao.length;x++){
    sanjiao[x][0]=sanjiao[x][x]=1;
for(y=1;y<sanjiao[x].length;y++){
    if(x==y){
    sanjiao[x][y]=1;
    }
    else if(y<x){
sanjiao[x][y]=sanjiao[x-1][y-1]+sanjiao[x-1][y];
    }

}
}
for( x=0;x<sanjiao.length;x++){
for( y=0;y<sanjiao[x].length;y++){
System.out.print(sanjiao[x][y]+" ");

}
System.out.println();
}

}

}
结果:
1 0 0 0 0 0 0 
1 1 0 0 0 0 0 
1 2 1 0 0 0 0 
1 3 3 1 0 0 0 
1 4 6 4 1 0 0 
1 5 10 10 5 1 0 
1 6 15 20 15 6 1

解决方案 »

  1.   

    你数组里是零就是零呗for( x=0;x<sanjiao.length;x++){
     for( y=0;y<sanjiao[x].length;y++){
     System.out.print(sanjiao[x][y]+" "); }
     System.out.println();
     }System.out.print(sanjiao[x][y]+" ");
    这句 改成 if(sanjiao[x][y]!=0)System.out.print(sanjiao[x][y]+" ");import java.util.*;
    public class YanghuiSanjiao {
    public static void main(String []args){
     System.out.println("请输入行数:");
     Scanner sc=new Scanner(System.in);
     int N=sc.nextInt();
     int [][]sanjiao=new int[N][N];
     int x,y=0;
     sanjiao[0][0]=sanjiao[1][0]=sanjiao[1][1]=1;
     for(x=2;x<sanjiao.length;x++){
     sanjiao[x][0]=sanjiao[x][x]=1;
     for(y=1;y<sanjiao[x].length;y++){
     if(x==y){
     sanjiao[x][y]=1;
     }
     else if(y<x){
     sanjiao[x][y]=sanjiao[x-1][y-1]+sanjiao[x-1][y];
     } }
     }
     for( x=0;x<sanjiao.length;x++){
     for( y=0;y<sanjiao[x].length;y++){
    if(sanjiao[x][y]!=0)System.out.print(sanjiao[x][y]+" "); }
     System.out.println();
     } } }