3 solutions

  • 0
    @ 2026-6-3 17:25:35

    抄题请先点击

    #include<bits/stdc++.h>
    using namespace std;
    const int MAX = 10;
    int a[MAX][MAX];  
    int main(){
        int n;
        cin>>n;
        int u=1;         
        int t=0;         
        int b=n-1;  
        int l=0;        
        int r=n-1;  
        while(u<=n*n){
            for(int i=l;i<=r&&u<=n*n;i++){
                a[t][i]=u++;
            }
            t++; 
            for (int i=t;i<=b&&u<=n*n;i++){
                a[i][r]=u++;
            }
            r--; 
            for(int i=r;i>=l&&u<=n*n;i--){
                a[b][i]=u++;
            }
            b--; 
            for(int i=b;i>=t&&u<=n*n;i--){
                a[i][l]=u++;
            }
            l++; 
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++) {
                cout<<setw(3)<<a[i][j];
            }
            cout<<endl;
        }
    
        return 0;
    }
    

    Information

    ID
    416
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    4
    Tags
    (None)
    # Submissions
    123
    Accepted
    56
    Uploaded By