[讨论]螺旋矩阵
我自编的程序,请大家帮我改进一下#define MAX 5
void aa(int a[MAX][MAX]);
main()
{
int i,j;
int b[MAX][MAX]={0};
for(i=0;i<MAX;i++)
{
for(j=0;j<MAX;j++)
printf("%3d",b[i][j]);
printf("\n");
}
b[0][0]=1;
aa(b);
for(i=0;i<MAX;i++)
{
for(j=0;j<MAX;j++)
{
printf("%3d",b[i][j]);
}
printf("\n");
}
getch();
}
void aa(int a[MAX][MAX])
{
int i=0,j=1,k=1,sign=1;
while(k<MAX*MAX)
{
k++;
a[i][j]=k;
switch(sign)
{
case 1:
if(a[i][j+1]==0&&j<MAX-1)
j++;
else
{
i++;
sign++;
}
break;
case 2:
if(a[i+1][j]==0&&i<MAX-1)
i++;
else
{
j--;
sign++;
}
break;
case 3:
if(a[i][j-1]==0&&j>0)
j--;
else
{
i--;
sign++;
}
break;
case 4:
if(a[i-1][j]==0&&i>0)
i--;
else
{
j++;
sign=1;
}
break;
}
}
}