矩阵交换行
题目描述
给定一个 5 × 5 5 \times 5 5×5 的矩阵(数学上,一个 r × c r \times c r×c 的矩阵是一个由 r r r 行 c c c 列元素排列成的矩形阵列),将第 n n n 行和第 m m m 行交换,输出交换后的结果。
输入格式
输入共 6 6 6 行,前 5 5 5 行为矩阵的每一行元素,元素与元素之间以一个空格分开。
第 6 6 6 行包含两个整数 m m m、 n n n,以一个空格分开( 1 ≤ m , n ≤ 5 1 \le m,n \le 5 1≤m,n≤5)。
输出格式
输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。
样例 #1
样例输入 #1
1 2 2 1 2
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4
1 5
样例输出 #1
3 0 8 2 4
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
1 2 2 1 2
参考如下
#include <stdio.h>
#include <string.h>
int main() {
int arr[5][5] = {}, m, n, temp[5] = {};
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
scanf("%d", &arr[i][j]);
scanf("%d %d", &m, &n);
for (int i = 0; i < 5; i++) {
temp[i] = arr[m-1][i];
arr[m-1][i] = arr[n-1][i];
arr[n-1][i] = temp[i];
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}