猿问

这个程序输出为何不对?

public class EchoPlayer {

static int M = 5; 
static int N = 4;
static int[][] b = new int[5][N];
static int k=0;
public static void main(String[] args){

C(5,4,4);

System.out.println();


for(int i=0;i<5;i++){
for(int j=0;j<N;j++){
System.out.print(b[i][j]+" ");

System.out.println();
}

}

static void C(int m,int n,int T){

int i,j;
for(i=n;i<=m;i++) {

b[k][n-1] = i;

if(n>1)
C(i-1,n-1,T);
else {
for(j=0;j<=T-1;j++){

System.out.print(b[k][j] + " ");



System.out.println();
k++;

}
}
}

 

输出:

1 2 3 4 
1 2 3 5 
1 2 4 0 
1 3 0 0 
2 0 0 0

1 2 3 4 
1 2 3 5 
1 2 4 0 
1 3 0 0 
2 0 0 0

他应该输出1 2 3 4 5取出4个数的组合,一共五种情况,为啥从第三种开始就有的位置为零了。

慕斯709654
浏览 85回答 1
1回答
随时随地看视频慕课网APP
我要回答