登录之后查看代码,点此登录账号
#include<stdio.h>
#include<string.h>
int spin_90(int mat[100][100],int *n,int *m) {
int i,j;
int mat1[100][100]= {0};
for(i=0; i<=*n-1; i++) {
for(j=0; j<=*m-1; j++) {
mat1[j][*n-1-i]=mat[i][j];
}
}
for(i=0; i<=*m-1; i++) {
for(j=0; j<=*n-1; j++) {
mat[i][j] = mat1[i][j];
}
}
int temp;
temp=*n;
*n=*m;
*m=temp;
}
int spin_270(int mat[100][100],int *n,int *m) {
spin_90(mat,n,m);
spin_90(mat,n,m);
spin_90(mat,n,m);
}
int mirror(int mat[100][100],int *n,int *m) {
int i,j;
int mat1[100][100]= {0};
for(i=0; i<=*n-1; i++) {
for(j=0; j<=*m-1; j++) {
mat1[i][j]=mat[i][*m-1-j];
}
}
for(i=0; i<=*n-1; i++) {
for(j=0; j<=*m-1; j++) {
mat[i][j] = mat1[i][j];
}
}
}
int main() {
int n,m,k;
int i,j;
int mat[100][100];
while(scanf("%d%d%d",&n,&m,&k)!=EOF) {
for(i=0; i<=n-1; i++) {
for(j=0; j<=m-1; j++) {
scanf("%d",&mat[i][j]);
}
}
int op;
for(i=0; i<=k-1; i++) {
scanf("%d",&op);
if(op==1) {
spin_90(mat,&n,&m);
} else if(op==2) {
mirror(mat,&n,&m);
} else {
spin_270(mat,&n,&m);
}
}
for(i=0; i<=n-1; i++) {
for(j=0; j<=m-1; j++) {
printf("%d ",mat[i][j]);
}
printf("\n");
}
}
}