int a[][] = {{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4}}
int b[][] = new int [4][7]
for (int i = 0i <4i++) {
for (int j = 0j <7j++) {
b[i][j] = a[j][i]
}
}
System.out.println("矩阵a:")
for (int i = 0i <7i++) {
for (int j = 0j <4j++) {
if (j <3) {
System.out.print(a[i][j] + " ")
} else {
System.out.println(a[i][j] + " ")
}
}
}
System.out.println("矩阵a转置:")
for (int i = 0i <4i++) {
for (int j = 0j <7j++) {
if (j <6) {
System.out.print(b[i][j] + " ")
} else {
System.out.println(b[i][j] + " ")
}
}
}
代码写得烂不要喷我,我想解决思路就是这样吧!
/*** @author 熙熙
* @2011-4-20
*/
public class JuZhenZhuanZhi {
/**
* @param args
*/
public static void main(String[] args) {
int a[][]={
{11,12,13}
,{21,22,23}
,{31,32,33}
}
System.out.println("转置前的矩阵:")
print(a)
zhuanZhi(a)
System.out.println("转置后的矩阵:")
print(a)
}
public static void zhuanZhi(int a[][]){
for(int i=0i<a.lengthi++){
for(int j=i+1j<a[i].lengthj++){
int tem = a[i][j]
a[i][j] = a[j][i]
a[j][i] = tem
}
}
}
public static void print(int a[][]){
for(int i=0i<a.lengthi++){
int j=0
for(j<a[i].length-1j++){
System.out.print(a[i][j]+",")
}
System.out.println(a[i][j])
}
}
}
修改后的Java程序:
package com.homework.fourdaysimport java.util.Scanner
public class page81_question02 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in)
int m, n
int i, j
System.out.println("请输入矩阵M*N中的M值")
m = in.nextInt()
System.out.println("请输入矩阵M*N中的N值")
n = in.nextInt()
int[][] a = new int[m][n] //存储转置前的矩阵
int[][] b = new int[n][m] //存储转置后的矩阵
System.out.println("请输入" + m + " * " + n + "矩阵中的所有元素")
for (i = 0 i < m i++) {
for (j = 0 j < n j++) {
a[i][j] = in.nextInt()
}
}
//矩阵转置
for (i = 0 i < m i++) {
for (j = 0 j < n j++) {
b[j][i] = a[i][j]
}
}
System.out.println("转置前")
for (i = 0 i < m i++) {
for (j = 0 j < n j++) {
System.out.printf("%6d", a[i][j])
}
System.out.println()
}
System.out.println("转置后")
for (i = 0 i < n i++) {
for (j = 0 j < m j++) {
System.out.printf("%6d", b[i][j])
}
System.out.println()
}
}
}
运行测试:
请输入矩阵M*N中的M值2
请输入矩阵M*N中的N值
3
请输入2 * 3矩阵中的所有元素
1 2 3
4 5 6
转置前
1 2 3
4 5 6
转置后
1 4
2 5
3 6