C语言表示魔方阵怎么表示呢?最好加注释 急
下面的是在百度百科里搜到的,你在百度里搜“魔方阵”就能找到!!!!
#include
#define N 16 //这里可以修改N的值
int main()
{ int a[N][N]={0},i,j,k,p,m,n;
p=1;
while(p==1)
{ printf("Enter n(1~%d): ",N-1); /*可以输入小于等于N-1的整数*/
scanf("%d",&n);
if((n!=0)&&(nn))
{ i=i 2;j=j-1; }
else
{ if(in) j=1; }
if(a[i][j]==0) a[i][j]=k;
else { i=i 2;
j=j-1;
a[i][j]=k; }
}
for(i=1;i
void main()
{ int a[15][15]={0},i,j,m,n,temp,M;
printf("请输入一个3~15的奇数: ");
scanf("%d",&M);
i=0;
j=M/2;
a[i][j]=1;
for(temp=2;tempM-1)
j=0;
if(a[i][j]!=0)
i=m 1,j=n;
a[i][j]=temp; }
printf("%d×%d魔方阵: ",M,M);
for(i=0;i{ for(j=0;j printf("M",a[i][j]);
printf(" "); } } //(求4的倍数阶幻方)
void main()
{ int i,j,x,y,n,t,k=1;
int a[100][100];
printf("请输入魔方阵的阶数 n ");
scanf("%d",&n);
printf("输出为: ");
if(n%4==0)
{ for(i=0;ifor(j=0;j { a[i][j]=k; k ; }
x=n-1;
for(j=0;j{ for(i=0;i if(i%4!=j%4&&(i j)%4!=3)
{ t=a[i][j];
a[i][j]=a[i][x];
a[i][x]=t; }
}
x=n-1;
for(i=0;i{ for(j=0;j if(i%4!=j%4&&(i j)%4!=3)
{ t=a[i][j];
a[i][j]=a[x][j];
a[x][j]=t; }
}
for(i=0;i{ for(j=0;j printf("%-4d",a[i][j]);
printf(" "); }
}
else printf("输入错误 ");
system("pause。
。。"); }。