
- #define _CRT_SECURE_NO_WARNINGS
- #include
-
- int main()
- {
- int n = 0;
- int m = 0;
- int arr[10][10] = { 0 };
- // 输入行和列
- scanf("%d%d", &n, &m);
- int i = 0;
- int j = 0;
- //读取数组
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < m; j++)
- {
- scanf("%d", &arr[i][j]);
- }
- }
- int cnt = 0;//操作次数
- scanf("%d", &cnt);
- int a = 0;
- int b = 0;
- char op = 0;//操作字符
- for (int i = 0; i < cnt; i++)//循环几次操作几次
- {
- scanf(" %c %d %d", &op, &a, &b);
- if (op == 'r')
- //交换a和b行
- {
- for (j = 0; j < m; j++)
- {
- int tmp = arr[a - 1][j];//输入的比数组的下标多1,所以要-1
- arr[a - 1][j] = arr[b - 1][j];
- arr[b - 1][j] = tmp;
- }
- }
- if (op == 'c')
- //交换a和b列
- {
- for (j = 0; j < n; j++)
- {
- int tmp = arr[j][a - 1];
- arr[j][a - 1] = arr[j][b - 1];
- arr[j][b - 1] = tmp;
- }
- }
- }
- //打印交换完的数组
- for (i = 0; i < n; i++)
- {
- for (j = 0; j < m; j++)
- {
- printf("%d ", arr[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
