螺旋方阵 pta

#include "bits/stdc++.h"

using namespace std;
int s[15][15];
int n;
int main()
{
    cin >> n;
    int x=0,y=0,ans=1,k=n-1,p=n/2;
    for(int i=1;i<=p;i++){
        for(int j=0;j<k;j++) s[x][y++]=ans++;
        for(int j=0;j<k;j++) s[x++][y]=ans++;
        for(int j=0;j<k;j++) s[x][y--]=ans++;
        for(int j=0;j<k;j++) s[x--][y]=ans++;
        x++,y++;
        k-=2;
    }
    if(!s[n/2][n/2]) s[n/2][n/2]=ans;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            printf("%3d",s[i][j]);
        }
        printf("\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_53013914/article/details/120658321