代码:
#include<bits/stdc++.h>
using namespace std;
int a[111][111]={0};
int b[111][111]={0};
int main()
{
int n,m,k1,k;
while(cin>>n>>m>>k1){
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
cin>>a[i][j];
}
}
while(k1--)//矩阵共变化k1轮
{
cin>>k;
if(k==1)
{
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
b[j][n-i+1]=a[i][j];
}
}
}
else if(k==2)
{
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
b[i][m+1-j]=a[i][j];
}
}
}
else if(k==3)
{
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
//b[j][n-i+1]=a[i][j];//a[n-j+1][i]=b[i][j]
b[m-j+1][i]=a[i][j];
}
}
}
if(k==1||k==3)//矩阵大小行列值大小变化
{
int temp=n;
n=m;
m=temp;
}
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
a[i][j]=b[i][j];//一次变化后的新矩阵重新赋值给原始矩阵,再新一轮接着进行变化
}
}
}
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
return 0;
}