修改处见注释,供参考:
#include<stdio.h>
int array[100][100]={0}; //修改
int main()
{
int n; // t,
scanf("%d",&n); //修改
int k=1,x=0,y=n-1; //修改
array[0][n-1]=1; //修改
while(k<n*n)
{
while(x+1<n && !array[x+1][y]) array[++x][y]=++k;
//while(x<n-1&&!array[x+1][y]) array[++x][y]=++k; 修改
while(y-1>=0 && !array[x][y-1]) array[x][--y]=++k;
//while(y>0&&!array[x][y-1]) array[x][--y]=++k; 修改
while(x-1>=0 && !array[x-1][y]) array[--x][y]=++k;
//while(x>0&&!array[x-1][y]) array[--x][y]=++k; 修改
while(y+1<n && !array[x][y+1]) array[x][++y]=++k;
//while(y<n-1&&!array[x][y+1]) array[x][++y]=++k; 修改
}
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",array[i][j]); //修改
printf("\n"); //修改
}
return 0;
}