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