题解 | #回型矩阵#
回型矩阵
https://www.nowcoder.com/practice/36d5dfddc22c4f5b88a5b2a9de7db343
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d",&n);
int arr[20][20] = {0};
int i = 0;
int j = 0;
int up = 0;
int down = n-1;
int right = n-1;
int left = 0;
int x = 1;
while(x<=n*n)
{
for(i = left;i<=right;i++)
{
arr[up][i] = x++;
}
up++;
for(i = up;i<=down;i++)
{
arr[i][right] = x++;
}
right--;
for(i = right;i>=left;i--)
{
arr[down][i] = x++;
}
down--;
for(i = down;i>=up;i--)
{
arr[i][left] = x++;
}
left++;
}
for(i = 0;i<n;i++)
{
for(j = 0;j<n;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}


