⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 奇数魔方.txt

📁 其中一部分是自己写得,一部分是摘录的,希望站长能批准,我以后一定多多努力上传!
💻 TXT
字号:
奇数魔方:

#include <stdio.h>
#include <malloc.h>

void main()
{
 int n,i,**matrix;
 do
 {
  printf("请输入魔方阵的阶数(必须是奇数):n=");
  scanf("%d",&n);
 }while(n<0 || n%2==0);

 matrix=(int **)malloc(sizeof(int *)*n);
 for(i=0;i<n;i++)
  *(matrix+i)=(int *)malloc(sizeof(int)*n);

 int p,q,j,l,k;
 for(i=0;i<n;i++)
  for(j=0;j<n;j++)
   matrix[i][j]=0;
  p=n/2;
  q=n-1;
  for(i=1;i<=n*n;i++)
  {
   matrix[p][q]=i;
  // printf("%d,%d,%d\n",matrix[p][q],p,q);
   l=q;k=p;
   p++;q++;
   if(p==n)
    p=p%n;
   if(q==n)
    q=q%n;
   if(matrix[p][q]!=0)
   {
    q=l-1;
    p=k;
   }
   if(q==-1)
    q=n-1;
  }
  printf("%d阶的魔方的矩阵为:\n",n);
  for(i=0;i<n;i++)
  {
      for(j=0;j<n;j++)
       printf("%-3d ",matrix[i][j]);
   printf("\n");
  }

  for(i=0;i<n;i++)
   free (*(matrix+i));
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -