问题描述
将一个整数矩阵的行和列互换。
预置代码
输入
第一行是测试数据的组数。以下每组数据的首行是矩阵的行数和列数(行和列的数目均不大于100),之后为矩阵。
输出
对输入的每组测试数据,将矩阵行列互换输出,每组后面有一个空行。矩阵中的每个数据之后有一个空格。
输入样列
2
3 2
11 22
33 44
55 66
3 3
11 12 13
21 22 23
31 32 33
输出样例
11 33 55
22 44 66
11 21 31
12 22 32
13 23 33
以下我写的
#include<stdio.h>
int main(){
int n,m,i,j,t;
scanf("%d %d",&n,&m);
int a[n][m];
int b[m][n];
scanf("%d",&t);
while(t--){
scanf("%d %d",&n,&m);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
b[j][i]=a[i][j];
}
}
for(i=0;i<m;i++){
for(j=0;j<n;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
}
return 0;
}
自己整ac了 哈哈
#include<stdio.h>
int main(){
int t;
int n,m,i,j;
scanf("%d",&t);
while(t--){
scanf("%d %d",&n,&m);
int a[n][m];
int b[m][n];
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++){
for(j=0;j<n;j++){
b[i][j]=a[j][i];
}
}
for(i=0;i<m;i++){
for(j=0;j<n;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
printf("\n");
}
return 0;
}