你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

7-44 实验8_1_矩阵转置

2021/12/25 20:18:09

任意给定一个n*m的矩阵,矩阵的行数为n,列数为m。你的任务是实现矩阵的转置,即行列互换。

输入格式:

第一行为两个整数n、m,代表矩阵的行数与列数,n、m的范围均是1—100。然后输入n*m个整数,即此矩阵的元素。。

输出格式:

经过矩阵转置得到的新矩阵,新矩阵占m行,n列。每行的每个元素用空格分隔,注意最后一个数的后面为换行符。

输入样例:

3 5
5 5 5 5 5
3 3 3 3 3
1 1 1 1 1

输出样例:

5 3 1
5 3 1
5 3 1
5 3 1
5 3 1

 代码如下:

#include<stdio.h>
int main(void)
{
	int rows=0,cols=0;
	scanf("%d %d",&rows,&cols);
	int A[rows][cols];
	for(int i=0;i<rows;i++)
	{
		for(int j=0;j<cols;j++)
		{
			scanf("%d",&A[i][j]);
		}
	}
	int AT[cols][rows];
	for(int i=0;i<cols;i++)
	{
		for(int j=0;j<rows;j++)
		{
			AT[i][j]=A[j][i];
		}
	}
	for(int i=0;i<cols;i++)
	{
		for(int j=0;j<rows;j++)
		{   if(j!=rows-1)
			printf("%d ",AT[i][j]);
			else if(j==rows-1) 
			printf("%d\n",AT[i][j]);
		}
	}
	return 0;
}