编写一个程序,要求能够对一个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]+"]");
}
}
}
}
}