#include<iostream>
using namespace std;
int xuanzhuan(int m[100][100],int a1,int a2);
int main()
{
int i, j, a1, a2, m[100][100], angle;
cout << "请输入矩阵的行和列:";
cin >> a1 >> a2;
cout << "请输入矩阵的元素:";
for (i = 0; i < a1;i++)
for (j = 0; j < a2;j++)
cin >> m[i][j];
cout << "该矩阵为:"<<endl;
for (i = 0; i < a1; i++)
{
for (j = 0; j < a2; j++)
cout<< m[i][j]<<" ";
cout << endl;
}
xuanzhuan(m, a1, a2);
system("pause");
return 0;
}
int xuanzhuan(int m[100][100], int a1, int a2)
{
int i,j,angle;
char flag = 'Y';
while (flag != 'N')
{
cout << "请输入旋转的角度(90/180/270):";
cin >> angle;
if (angle == 90)
{
cout << "旋转90度之后的矩阵为:" << endl;
for (j = 0; j < a2; j++)
{
for (i = a1 - 1; i >= 0; i--)
cout << m[i][j] << " ";
cout << endl;
}
}
else if (angle == 180)
{
cout << "旋转180度之后的矩阵为:" << endl;
for (i = a1 - 1; i >= 0; i--)
{
for (j = a2 - 1; j >= 0; j--)
cout << m[i][j] << " ";
cout << endl;
}
}
else if (angle == 270)
{
cout << "旋转270度之后的矩阵为:" << endl;
for (j = a2 - 1; j >= 0; j--)
{
for (i = 0; i <a1; i++)
cout << m[i][j] << " ";
cout << endl;
}
}
else cout << "角度输入错误!" << endl;
cout << "--------------------------------------------------------------" << endl;
cout << "是否继续旋转(Y/N)?";
cin >> flag;
}
return 0;
}