#include <stdio.h> struct change { char t; int a; int b; }; int main() { int n,m,i,j,k; scanf("%d%d",&n,&m); int f[n][m]; for(i=0;i<n;i++) { for(j=0;j<m;j++) { scanf("%d",&f[i][j]); } } scanf("%d",&k); getchar(); struct change chan[k]; for(i=0;i<k;i++) { scanf(" %c %d %d",&chan[i].t,&chan[i].a,&chan[i].b); chan[i].a--; chan[i].b--; if(chan[i].t=='r') { for(j=0;j<m;j++) { int swap=f[chan[i].a][j]; f[chan[i].a][j]=f[chan[i].b][j]; f[chan[i].b][j]=swap; } } else if(chan[i].t=='c') { for(j=0;j<n;j++) { int swap=f[j][chan[i].a]; f[j][chan[i].a]=f[j][chan[i].b]; f[j][chan[i].b]=swap; } } getchar(); } for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%d ",f[i][j]); } printf("\n"); } return 0; }
用结构体来写,麻烦得很,记得吸收空格