方法一*此程序使我按照上面介绍的魔方阵的规律编写的,不过只能求奇数魔方阵,经过测试可以算到508阶* define N 7 includeltstdioh void main int aNN,i,j,kfori=0iltNi++ *先处理第。
填魔方阵的方法以奇数魔方阵最为简单,第一个数字放在第一行的正中央填了1,然后向右左上填,如果右左上已有数字,则向下填,如下图所示一般程序语言的阵列多由0开始,为了计算方便,我们利用索引1到n的部份。
fori=1ilt=ni++*输出魔方阵* forj=1jlt=nj++printfquot%4dquot,aijprintfquot\nquot return 0。
程序代码includeltstdioh define N 16 int main int aNN=0,i,j,k,p,np=1whilep==1 printfquotEnter n1~%dquot,Nscanfquot%dquot,nifn!=0nltNn%2!=0p=0。
coutltlt quot初始魔方\nquotsquaregetdatasquaresetfirstmagicsquareprintmagiccout ltlt quot生成最终魔方\nquotsquaregeneratemagicsquareprintmagicsystemquotpausequotreturn 0 已经运行过了,木有。
*定义方阵行列表示方法h表示列,v表示行* int main int *piNumberint iSIZE, i, j*定义变量* do printf quot输入n*n方阵大小必须为奇数,输入1退出 quotscanf。
int main int a100100,x*初始化* int i,j,m,n,tempprintfquot输出魔方矩阵n=quotscanfquot%dquot,xwhilex if!x%2printfquot你输入了偶数,很遗憾本程序将退出quotreturn 0 else。
魔方阵的排列规律如下1将1放在第一行中间一列2从2开始直到n×n止各数依次按下列规则存放每一个数存放的行比前一个数的行数减1,列数加1例如上面的三阶魔方阵,5在4的上一行后一列3如果上一。
Private Sub Command1_ClickDim a20, 20 As Integer, n As Integer n = InputBoxquot请输入一个奇数 N=quotPrint quotN=quot n i = 1 j = n \ 2 + 1 k = 1 For i1 = 1 To n For i2 = 1 To n。