这题忘了当m=-4时最终应该等于0而不是4的情况。。wa了好多次。。。
代码如下:
#include"stdio.h" char a[15][15]; int n,m; void output() { int i,j; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) printf("%c",a[i][j]); printf("\n"); } } void output1() { int i,j; for(i=1;i<=n;i++) { for(j=n;j>=1;j--) printf("%c",a[j][i]); printf("\n"); } } void output2() { int i,j; for(i=n;i>=1;i--) { for(j=n;j>=1;j--) printf("%c",a[i][j]); printf("\n"); } } void output3() { int i,j; for(i=n;i>=1;i--) { for(j=1;j<=n;j++) printf("%c",a[j][i]); printf("\n"); } } int main( ) { int i,j; while(~scanf("%d%d",&n,&m)) { getchar(); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) scanf("%c",&a[i][j]); getchar(); } if(m<0) { m=-m; m%=4; m=4-m; m%=4; } else m%=4; switch(m) { case 0:output();break; case 1:output1();break; case 2:output2();break; case 3:output3();break; } } return 0; }