天天看点

第三次NO.2矩阵转置

编写一个程序,要求能够对一个NxN(N<10)的矩阵进行行列互换。每个矩阵的元素的取值为10~100的整数。

例如:

[95, 64, 85, 12]

[87, 43, 70, 23]

[87, 37, 26, 26]

[49, 95, 57, 21]

===>

[95, 87, 87, 49]

[64, 43, 37, 95]

[85, 70, 26, 57]

[12, 23, 26, 21]

输入:

第一行为N,紧跟着每行是对应矩阵元素的数据

输出:

行列转换后的矩阵(每一行的元素用方括号括起来,元素之间用逗号和空格", "分隔。提示:用Arrays.toString()输出即满足格式要求)

示例输入:

4↵

95□64□85□12↵

87□43□70□23↵

87□37□26□26↵

49□95□57□21↵

示例输出:

[95,□87,□87,□49]↵

[64,□43,□37,□95]↵

[85,□70,□26,□57]↵

[12,□23,□26,□21]↵

老师测试程序通过源码

import java.util.Scanner;
/*
 * create 2013/4/3 10:24
 */
public class Main {
	public static void main(String  args[]) {
	    Scanner cin = new Scanner(System.in);
         //输入矩阵维度
 	    int N = cin.nextInt();
 	    int arr[][] = new int[N][N];
         //循环取得输入矩阵数据
 	    for(int i=0;i<N;i++){
 	 	    for(int j=0;j<N;j++){
 	 	    	arr[i][j]=cin.nextInt();
 	 	    }
 	    }
         //转置矩阵数据
 	    for(int i=0;i<N;i++){
            //矩阵每行首输出[
 	    	System.out.print("[");
 	 	    for(int j=0;j<N;j++){
                   //每列最后一列前所有元素与“,”连接输出。
 	 	    	if(j<(N-1)){
 	 	    		System.out.print(arr[j][i]+", ");
 	 	    	}
                   //最后一列元素连接“]”输出结束并换行。
 	 	    	else if(j==(N-1)){
 	 	    		System.out.println(arr[j][i]+"]");
 	 	    	}
 	 	    }
 	    }
	}

}