问题描述
对于任意一个N*N的矩阵请依次按顺时针,逆时针,顺或逆180输出。
解题思路
对于矩阵的旋转只要熟练运用二维数组,其实它就是非常水的一道题。
#include<stdio.h>
int main()
{
int a[40][40];
int i,j,n;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
//顺时针旋转90
for(i=0;i<4;i++){
for(j=3;j>=0;j--)
printf("%d ",a[j][i]);
printf("\n");
}
printf("\n");
//逆时针旋转90
for(i=3;i>=0;i--){
for(j=0;j<4;j++)
printf("%d ",a[j][i]);
printf("\n");
}
printf("\n");
//顺时针转180或逆时针转180
for(i=3;i>=0;i--){
for(j=3;j>=0;j--)
printf("%d ",a[i][j]);
printf("\n");
}
}
return 0;
}