矩阵的转置是指将矩阵的行和列互换的操作。具体来说,如果有一个矩阵 A,其转置矩阵通常表示为 A^T(T 代表转置)。对于矩阵 A 中的任意元素 a_ij,其中 i 表示行号,j 表示列号,那么在转置矩阵 A^T 中,元素 a_ij 将被移动到第 j 行第 i 列,即 a_ji。
假设矩阵 A 是一个 m × n 的矩阵,那么其转置矩阵 A^T 将是一个 n × m 的矩阵。下面是矩阵 A 和其转置矩阵 A^T 的示例:
矩阵 A:
矩阵 A 的转置 A^T:
矩阵转置的操作在数学、物理学、计算机科学等领域都有广泛的应用,例如在解决线性代数问题、图像处理、量子力学等领域。
问题描述
编写 C 语言程序,从键盘读入2行3列的矩阵
输入格式
一共 2 行数据,每个数之间用一个空格隔开
输出格式
原来的未转置的矩阵与转置后的矩阵
#include<stdio.h>
int main(){
int i,j,a[2][3],b[3][2],max;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("a[%d][%d]=%d ",i,j,a[i][j]);
printf("\n");
}
for(i=0;i<2;i++){
for(j=0;j<3;j++)
{
b[j][i] = a[i][j];
}
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
printf("b[%d][%d]=%2d ",i,j,b[i][j]);
printf("\n");
}
max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
if(max<a[i][j])
max=a[i][j];
}
printf("max=%d",max);
}
运行结果如下: