#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,就对了,求解

相关推荐

牛客网
牛客企业服务