//矩阵转置 //将矩阵的行列互换得到的新矩阵称为转置矩阵 //输入描述: //第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。(1≤n≤10, 1≤m≤10) // //从2到n + 1行,每行输入m个整数(范围 - 231~231 - 1),用空格分隔,共输入n * m个数,表示第一个矩阵中的元素。 // //输出描述: //输出m行n列,为矩阵转置后的结果。每个数后面有一个空格 //简明概要:就是对于一个数组,你去输入一个行n列m,经过你的代码过后,这个数组就变成m行n列了 //假设输入2(行),3(列) //由画图可知,你输入1 2 3 4 5 6进入数组,那么1的下标为:(0,0),2的下标是(0,1) //3的下标(0,2),4的下标(1,0),如果进行矩阵转置的话那么久只有2列,3行了 //所以左边的那一列数字由上到下依次是123,右边的就是456 //对于2和4的原先位置和现在位置,原先是(i,j),现在是(j,i) //原来是n行m列,现在是n行m列 int main() { int arr[2][3] = { 1,2,3,4,5,6 }; for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { printf("%d ", arr[i][j]); } printf("\n"); //这个是原先的 } printf("************\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { printf("%d ", arr[j][i]);//转换后的 } printf("\n"); //这个是原先的 } return 0; }