Run ID:6772
提交时间:2025-03-15 15:24:06
#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<bits/stdc++.h> #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() using namespace std; int main(){ int n,a[21][21]; cin>>n; int k=(n+1)/2; int q=k; int t=1; for(;k>=1;k--){ for(int j=k;j<=n-k+1&&t<=n*n;j++) a[k][j]=t++; for(int i=q-k+2;i<=n-k+1&&t<=n*n;i++) a[i][n-k+1]=t++; for(int j=n-k;j>=k&&t<=n*n;j--) a[n-k+1][j]=t++; for(int i=n-k;i>=k+1&&t<=n*n;i--) a[i][k]=t++; } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cout<<setw(4)<<a[i][j]; if(j==n) cout<<endl; } } return 0; }