int shun90(int p,int N); int ni90(int p,int N); int dui(int p,int N);
int main() {
int N,n,M;
int *p;
scanf("%d %d",&N,&M);
p=(int*)malloc(N*N*sizeof(int));
if(p==NULL)printf("内存申请失败!");
else
{
for(int i=1;i<=N*N;i++)
{
scanf("%d",&n);
*(p+i-1)=n;
}
}
for(int i=0;i<M;i++)
{
scanf("%d",&n);
if(n==1)p=shun90(p,N);
else if(n==2)p=ni90(p,N);
else if(n==3)p=dui(p,N);
for(int t=0;t<N;t++)
{
for(int h=0;h<N;h++)
{
printf("%d ",*(p+t*N+h));
}
}
printf("\n\n");
}
return 0;
}
int shun90(intp,int N) {
int* pp=(int*)malloc(N*N*sizeof(int));
if(pp==NULL)printf("内存申请失败");
else
{
for(int i=0;i<N;i++)
{
for(int t=0;t<N;t++)
{
*(pp+t*N+N-i-1)=*(p+t+i*N);
}
}
}
return pp;
}
int ni90(intp,int N) {
int* pp=(int*)malloc(N*N*sizeof(int));
if(pp==NULL)printf("内存申请失败");
else
{
for(int i=0;i<N;i++)
{
for(int t=0;t<N;t++)
{
*(pp+(N-t-1)*N+i)=*(p+t+i*N);
}
}
}
return pp;
}
int dui(intp,int N) {
int* pp=(int*)malloc(N*N*sizeof(int));
if(pp==NULL)printf("内存申请失败");
else
{
for(int i=0;i<N;i++)
{
for(int t=0;t<N;t++)
{
*(pp+(N-i-1)*N+N-t-1)=*(p+t+i*N);
}
}
}
return pp;
}
注意斜体的英文原本是+正常的英文,比如p在上面会显示成斜体的p,还原即可