螺旋方阵

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:27:38
并要求构成如下的格式:如N=4
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4

main()
{
int i,j,k,m=1,n,a[100][100];
j=0;k=0;
scanf("%d",&n);
while(k<=(n+2)/2)
{
j=k;
for(i=k;i<=n-k-1;i++)
{
a[i][j]=m;
m++; }

i=n-k-1;
for(j=k+1;j<=n-k-1-1;j++)
{
a[i][j]=m;m++;
}

j=n-k-1;
for(i=n-k-1;i>=k;i--)
{
a[i][j]=m;m++;}
i=k;
for(j=n-k-1-1;j>=k+1;j--)
{ a[i][j]=m; m++;}
k++;
}
if(n%2!=0)
a[(n-1)/2][(n-1)/2]=a[(n-1)/2][(n-1)/2]-1;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}

// 显示螺旋方阵。

public class SpiralSquare
{
public static void main(String args[])
{
int n=50; //阶数
int mat[][] = new int [n][n];
int i,j,k=1;
for (i=0;i<(