#include < iostream > using namespace std; #define n 16 void main() ... { int a[n][n]=...{0}; int b,c,d,e,f; printf("请输入魔方阵的阶数:"); scanf("%d",&b); e=b/2; d=0; for(c=1;c<=b*b;c++) ...{ a[d][e]=c; if(a[(d-1+b)%b][(e+1+b)%b]==0) ...{ d=(d-1+b)%b; e=(e+1+b)%b; } else ...{ d=(d+1+b)%b; e=e%b; } } for(d=0;d<b;d++) ...{ for(f=0;f<b;f++) printf("%d ",a[d][f]); printf(" "); } }