题解 | #矩阵交换#
矩阵交换
https://www.nowcoder.com/practice/ec44d4ff8c794b2f9205bdddbde96817
#include<stdio.h>
int main()
{
int arr[10][10] = { 0 }, n, m;
scanf("%d %d", &n, &m);
int i,j;
for ( i = 0; i < n; i++)
for ( j = 0; j < m; j++)
scanf("%d", &arr[i][j]);
int k,a,b;
char t = 0;
scanf("%d", &k);
for(i=0;i<k;i++)
{
getchar();
scanf("%c %d %d", &t, &a, &b);
int tmp = 0;
a -= 1, b -= 1;
if (t == 'r')
{
//行变换
for (int j = 0; j < m; j++)
{
tmp = arr[a][j];
arr[a][j] = arr[b][j];
arr[b][j] = tmp;
}
} else if (t == 'c')
{
//列变换
for (int i = 0; i < n; i++)
{
tmp = arr[i][a];
arr[i][a] = arr[i][b];
arr[i][b] = tmp;
}
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}
