编写函数将一个NxN的二维数组的周边元素“顺时针”轮转1位
例如:轮转前的数组 轮转后的数组1 2 3 4 1 2
4 5 6 ---> 7 5 3
7 8 9 8 9 6
我的代码如下:
#include <stdio.h>
int main()
{
int i,j,N,a[100][100];
scanf("%d",&N);
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",&a[i][j]);
}
}
int t,m;
t = a[0][0];
for(m=0;m<N-1;m++)
a[m][0]=a[m+1][0];
for(m=0;m<N-1;m++)
a[N-1][m]=a[N-1][m+1];
for(m=N-1;m>0;m--)
{
a[m][2]=a[m-1][2];
a[0][2]=a[0][1];
a[0][1]=t;
}
printf("\n");
int n1,n2;
for(n1=0;n1<N;n1++)
{
for(n2=0;n2<N;n2++)
{
printf("%d ",a[n1][n2]);
}
printf("\n");
}
return 0;
}