第1个回答 推荐于2018-04-08
package com;
public class my{
public my(){}
public static void main(String[] args){
String[][] str = {{"1","2","3"},{"4","5","6"},{"7","8","9"}};
my g = new my();
System.out.println("你给定的数组(三行三列)");
g.print(str);
str = g.change(str);
System.out.println("改变后的数组(三行三列)");
g.print(str);
}
//改变结构(从横变成竖)
public String[][] change(String[][] str){
String[][] empty = new String[3][3];
for(int i = 0; i < 3; i ++){
for(int j = 0; j < 3; j ++){
empty[j][i] = str[i][j];
}
}
return empty;
}
//打印数组
public void print(String[][] str){
for(int i = 0; i < 3; i ++){
for(int j = 0; j < 3; j ++){
System.out.print(str[i][j]+" ");
}
System.out.println("");
}
}
}本回答被网友采纳
第2个回答 2020-04-09
#include<stdio.h>
int b(int a[3][3])
{
int i,j,r;
for(i=0;i<3;i++)
{for(j=i;j<3;j++)
r=a[i][j],a[i][j]=a[j][i],a[j][i]=r;
}
return a[3][3];
}
main()
{int k[3][3]={1,2,3,4,5,6,7,8,9};
int m,n;
b(k);
for(m=0;m<3;m++)
{for(n=0;n<3;n++)
printf("%d ",k[m][n]);
printf("\n");
}
}
第3个回答 2013-05-09
这种题有两种方法,一种为直接将横竖颠倒,成为直接转置,很简单。还有一种就是现将数组改变后再原样输出,成为间接转置
第一种
#include<stdio.h>
int main()
{
int a[3][3]; //定义数组
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);//输入数组
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[j][i]);
printf("\n"); //输出数组(直接转置)
}
return 0;
}
第二种
#include<stdio.h>
int main()
{
int a[3][3]; //定义数组
int i,j,t;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]); //输入数组
}
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)//转换矩阵
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");//输出数组
}
return 0;
}
当然,如果要实现多组数组,你自己再改变一下程序就行了。希望能帮上你。
第4个回答 2018-05-05
#include <stdio.h>
int zhuanzhi(int x,int ,int ,int a[3][3]);
int main()
{
int i, j;
int b[3][3] = { { 1,2,3 },{ 4,5,6 } ,{ 7,8,9 } };
int a[3][3] = { {1,2,3}, {4,5,6} ,{7,8,9} };
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
a[i][j]=zhuanzhi(a[i][j],i,j,b);
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
printf("%d", a[i][j]);
printf("\n");
}
return 0;
}
int zhuanzhi(int x,int i,int j,int a[3][3])
{
x = a[j][i];
return x;
}