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