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