在屏幕上输出一个n阶方阵(1<=n<=20)的右旋方阵,方阵的元素由1..n^2组成,排列由外向
内,顺时针方向旋转. 如下是4阶左旋方阵:(左旋方阵.C)
内,顺时针方向旋转. 如下是4阶左旋方阵:(左旋方阵.C)
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
#include <stdio.h>
int main()
{
static int a[20][20], i, j, k = 1, n;
scanf("%d", &n);
for (i = 0; i < (n + 1) / 2; i++)
{
for (j = i; j < n - i; j++)
{//right
a[i][j] = k++;
}
for (j = i + 1; j < n - i; j++)
{//left
a[j][n - i - 1] = k++;
}
for (j = n - i - 2; j >= i; j--)
{//down
a[n - i - 1][j] = k++;
}
for (j = n - i - 2; j > i; j--)
{//up
a[j][i] = k++;
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
printf("%2d\t", a[i][j]);
}
if(i != n - 1){
printf("\n");
}
}
return 0;
}