1、代码展示#include iostreamusing namespace std;const int N15;//定义右下左上 四个方向向量int dx[]{0,1,0,-1};int dy[]{1,0,-1,0};int arr[N][N];int main(){int n;cinn;//模拟填数过程int x1;int y1; //初始位置int cnt1; //要填的数int pos0; //当前位置while(cntn*n){arr[x][y]cnt;//计算出下一个位置int axdx[pos];int bydy[pos];//判断是否越界,越界计算下一个位置if(a1||an||b1||bn||arr[a][b]){//更新pos要走的位置pos(pos1)%4;axdx[pos];bydy[pos];}xa,yb;cnt;}int i1;int j1;for(i1;in;i){for(j1;jn;j){printf(%3d,arr[i][j]);}printf(\n);}return 0;}