螺旋矩阵
#include<stdio.h>#define N 100
int a[N][N];
void fun(int n)
{
int m=1,i,j;
for(i=0;i<n/2;i++)//只旋转n/2次
{
for(j=i;j<n-i;j++)//左侧
{
if(a[j][i]==0)
a[j][i] = m++;
}
for(j=i+1;j<n-i;j++)//下侧
{
if(a[n-i-1][j]==0)
a[n-i-1][j]= m++;
}
for(j=n-i-1;j>i;j--)//右侧
{
if(a[j][n-i-1]==0)
a[j][n-i-1]=m++;
}
for(j=n-i-1;j>i;j--)//上侧
{
if(a[i][j]==0)
a[i][j]=m++;
}
}
if(n%2==1)
a[n/2][n/2] = m;
}
void main()
{
int n,i,j;
printf("请输入 n 的值:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
a[i][j] = 0;
}
fun(n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}
求高手把该矩阵改为从里向外逆时针转出来的螺旋n*n的矩阵