嘿嘿嘿
#include <stdio.h> void hh(int arr[10][10],int x,int y,int m) //行交换 { for(int i = 0;i<m;++i) { int tmp = arr[x][i]; arr[x][i]=arr[y][i]; arr[y][i]=tmp; } } void hl(int arr[10][10],int x,int y,int n) //列交换 { for(int i = 0;i<n;++i) { int tmp = arr[i][x]; arr[i][x]=arr[i][y]; arr[i][y]=tmp; } } int main() { int n = 0, m = 0; scanf("%d %d",&n,&m); //行***定 int arr[10][10]={0}; for(int i = 0;i<n;++i) for(int j = 0;j<m;++j) scanf("%d",&arr[i][j]); //数组元素确定 int k = 0,x = 0, y = 0; scanf("%d",&k); //变换次数确定 char a = '0'; while(k--) { getchar(); //***********************最重要的是这个,换行要给他收了,不然总出错.... scanf("%c %d %d",&a,&x,&y); //变换方式确定 if(a=='r') hh(arr,x-1,y-1,m); if(a=='c') hl(arr,x-1,y-1,n); } for(int i = 0;i<n;++i) { for(int j = 0;j<m;++j) printf("%d ",arr[i][j]); printf("\n"); } return 0; }