顺时针螺旋方阵 (逆时针应该差不多
推导过程
int main()
{
int n,m=1,j,k,l,b,i;
scanf("%d",&n);
int a[10][10]={0};
if(n%2!=0)
{
a[n/2][n/2]=n*n;
}
for(i=0;i<n/2;i++)
{
for(j=i;j<n-i-1;j++)//向右
{
a[i][j]=m++;
}
for(k=i;k<n-i-1;k++)//向下
{
a[k][n-i-1]=m++;
}for(l=n-i-1;l>i;l--)//向左
{
a[n-i-1][l]=m++;
}for(b=n-i-1;b>i;b--)//向上
{
a[b][i]=m++;
}
} for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}return 0;
}
先这样吧!
bye