#包含?& ltstdlib.h & gt
int?主()
{
int?n;
Printf("請輸入矩陣大小:");
scanf("%d ",& ampn);
int?arr[n][n];
int?i=0,j=0,s = n * n
for(I = 0;我& ltn;i++)
{
for(j = 0;j & ltn;j++)
{
arr[I][j]= 0;
}
}
int?直接= 0;
arr[0][0]= s-;
I = 0;
j = 0;
while(s & gt;0)
{
if(direct==0)
{
if(arr[i][j+1]==0?& amp& amp?j+1 & lt;n)
{
arr[I][++ j]= s-;
}
其他
{
直接= 1;
}
}
不然呢?if(direct==1)
{
if(arr[i+1][j]==0?& amp& amp?I+1 & lt;n)
{
arr[++ I][j]= s-;
}
其他
{
直接= 2;
}
}
不然呢?if(direct==2)
{
if(arr[i][j-1]==0?& amp& amp?j-1 & gt;=0)
{
arr[I][-j]= s-;
}
其他
{
直接= 3;
}
}
不然呢?if(direct==3)
{
if(arr[i-1][j]==0?& amp& amp?I-1 & gt;=0)
{
arr[-I][j]= s-;
}
其他
{
直接= 0;
}
}
}
for(I = 0;我& ltn;i++)
{
for(j = 0;j & ltn;j++)
{
printf("%02d?",arr[I][j]);
}
printf(" \ n ");
}
回歸?0;
}