11阶幻方

一个程序,输出11阶幻方

程序如下:

#include<bits/stdc++.h>
using namespace std;
int a[50][50],x=0,y;
int main(){
    y = 11/2;
    memset(a,0,sizeof(a));
    for(int i = 1;i<=11*11;i++){
        a[x][y]=i;
        x--;
        y++;
        if(x<0&&y>10||a[x][y]!=0){
            x+=2;
            y-=1;
        }else if(x<0){
            x+=11;
        }else if(y>10){
            y-=11;
        }
    }
    for(int i = 0;i<11;i++){
        for(int j = 0;j<11;j++){
            cout<<a[i][j]<<' ';
        }
        cout<<endl;
    }
    return 0;
}

 

posted @ 2022-05-04 15:38  陈瑞淞  阅读(113)  评论(0)    收藏  举报