#include<iostream>
using namespace std;
int main()
{
	int n,m,k;
	scanf("%d%d",&n,&m);
	int a[100][100];
	int i,j;
	for(i=0;i<n;i++)
	for(j=0;j<m;j++)
	scanf("%d",&a[i][j]);
	scanf("%d",&k);
	char ch[100][100];
	for(i=0;i<k;i++)
	for(j=0;j<3;j++)
	cin>>ch[i][j];
	for(i=0;i<k;i++)
	{
		if(ch[i][0]=='r')
		{
			int t;
			for(int d=0;d<m;d++)
			{
				t=a[(ch[i][1]-'0')-1][d];
				a[(ch[i][1]-'0')-1][d]=a[(ch[i][2]-'0')-1][d];
				a[(ch[i][2]-'0')-1][d]=t;
			}	
		}
		else if(ch[i][0]=='c')
		{
			int s;
			for(int f=0;f<n;f++)
			{
				s=a[f][(ch[i][1]-'0')-1];
				a[f][(ch[i][1]-'0')-1]=a[f][(ch[i][2]-'0')-1];
				a[f][(ch[i][2]-'0')-1]=s;
			}
		}
		
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
	return 0;



#include<stdio.h>
int main()
{
	int n,m,k;
	scanf("%d%d",&n,&m);
	int a[100][100];
	int i,j;
	for(i=0;i<n;i++)
	for(j=0;j<m;j++)
	scanf("%d",&a[i][j]);
	scanf("%d",&k);
	char ch[100][100];
	for(i=0;i<k;i++)
	for(j=0;j<3;j++)
	scanf("%c",&ch[i][j]);
	for(i=0;i<k;i++)
	{
		if(ch[i][0]=='r')
		{
			int t;
			for(int d=0;d<m;d++)
			{
				t=a[(ch[i][1]-'0')-1][d];
				a[(ch[i][1]-'0')-1][d]=a[(ch[i][2]-'0')-1][d];
				a[(ch[i][2]-'0')-1][d]=t;
			}	
		}
		else if(ch[i][0]=='c')
		{
			int s;
			for(int f=0;f<n;f++)
			{
				s=a[f][(ch[i][1]-'0')-1];
				a[f][(ch[i][1]-'0')-1]=a[f][(ch[i][2]-'0')-1];
				a[f][(ch[i][2]-'0')-1]=s;
			}
		}
		
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}

}
第八场H-矩阵交换,第二个用c的语句,达不到交换的目的。第一个代码只改了输入字符数组时scanf为c++的cin,就对了,求解