之间网

c语言魔方阵系统总体设计框架(c语言魔方阵)

精选经验
导读 您好,今日西西来为大家解答以上的问题。c语言魔方阵系统总体设计框架,c语言魔方阵相信很多小伙伴还不知道,现在让我们一起来看看吧!1、所...

您好,今日西西来为大家解答以上的问题。c语言魔方阵系统总体设计框架,c语言魔方阵相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、所谓的魔方距阵就是一种特殊的奇数阶方阵:它的行,列,对角线。

2、上的数字之和都要相等,且方阵中的每一个数字都不相等,且数字的范围都在1到n*n之间.  我编的程序如下:  #include<stdio.h>  #define N 15  main()  {  int i,j,row,cloum,size,square[N][N],count;  clrscr();  printf("please enter the square size(odd && <=15):");  scanf("%d",&size);  while(size%2==0||size>15||size<3)  {  printf("error due to the wrng input!please input it again!");  scanf("%d",&size);  }  for(i=0;i<size;i++)  for(j=0;j<size;j++)  square[i][j]=0;  i=0;j=(size-1)/2;  square[i][j]=1;  for(count=2;count<=size*size;count++)  {  row=i-1<0?(size-1):(i-1);  cloum=j-1<0?(size-1):(j-1);  if(square[row][cloum])  i=(++i)%size;  else  {i=row;  j=j-1<0?(size-1):(j-1);  }  square[i][j]=count;  }  printf("the %d square is:",size);  for(i=0;i<size;i++)  {  for(j=0;j<size;j++)  printf("%d",square[i][j]);  printf("");  }  }  只能求奇数的魔方阵  #define N 20  main()  {  int a[N][N];  int n,i,j,r;  scanf("%d",&n);  for(i=0;i<N;i++) for(j=0;j<N;j++) a[i][j]=0;  i=0;  j=n/2;  a[i][j]=1;  for (r=2;r<=n*n;r++)  if (a[(i+n-1)%n][(j+1)%n]==0)  {i=(i+n-1)%n;j=(j+1)%n;a[i][j]=r;}  else  {i=(i+1)%n;a[i][j]=r;}  for(i=0;i<n;i++)  {  for(j=0;j<n;j++) printf("%4d",a[i][j]);  printf("");  }  }。

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签: