所以在题目上已经说了,比如输入4,输出
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
以下是代码(c++):
#include<bits/stdc++.h>
using namespace std;
int a[10][10];
bool vis[10][10];
int x=0,y=0;
int n;
int next[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
int i=1;
int j=0;
int main(){
cin>>n;
while(i<=n*n){
a[x][y]=i;
vis[x][y]=1;
if(x+1==n||y+1==n||vis[x+next[j][0]][y]==1||vis[x][y+next[j][1]]==1){
j++;
if(j==4){
j=0;
}
}
x+=next[j][0];
y+=next[j][1];
i++;
}
for(int k=0;k<n;k++){
for(int l=0;l<n;l++){
cout<<" ";
if(a[i][j]<10){
cout<<" ";
}
cout<<a[i][j];
}
cout<<"\n";
}
return 0;
}