题目描述
矩阵逆转操作是指把元素的行和列转换,例如原来矩阵有4行2列,逆转后变成2行4列,矩阵元素的位置也发生相应的变化,原来在第3行第2列的元素,逆转后变成在第2行第3列。
输入
第一行输入T表示有T个测试实例
第二行输入两个参数A和B,分别表示矩阵的行数和列数
第三行输入二维矩阵的数据,假定数据都是正整数
以此类推输入下个实例
输出
输出逆转后的矩阵结果
IO模式
本题IO模式为标准输入/输出(Standard IO),你需要从标准输入流中读入数据,并将答案输出至标准输出流中。
代码如下:
#include <stdio.h>
int main()
{
int t,a,b;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&a,&b);
int arr1[a][b],arr2[b][a];
for(int i=0;i<a;i++)
for(int j=0;j<b;j++){
scanf("%d",&arr1[i][j]);
arr2[j][i]=arr1[i][j];
}
for(int i=0;i<b;i++){
for(int j=0;j<a;j++){
printf("%d",arr2[i][j]);
if(j!=a-1)
printf(" ");
}
printf("\n");
}
}
return 0;
}
说白了就是求转置矩阵,重在读题
其实这个题可以直接输出,但是老师有要求要用新的数组保存,所以这样写
要分享的大概就这些,如果有更好的方法欢迎交流!
如果有帮到你请点个赞吧!也可以关注我,以后会分享更多,谢谢!
(专栏里面还有更多题哦)