幻方矩阵.c

来自「根据输入的阶数」· C语言 代码 · 共 29 行

C
29
字号
#include"stdio.h"
int a[1001][1001]; 
int main()
{ int i,j,k,p,m,n;
  while(scanf("%d",&n),n)
  { for(i=1;i<=n;i++)
     for(j=1;j<=n;j++)
       a[i][j]=0;
   j=n/2+1;
   a[1][j]=1;
   for(k=2;k<=n*n;k++)
    { i=i-1;j=j+1;
      if((i<1)&&(j>n)){i=i+2;j=j-1;}
      else 
      {  if(i<1)i=n;
         if(j>n)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<=n;i++)
     {for(j=1;j<=n;j++) 
        printf("%d   ",a[i][j]);printf("\n");}
     printf("\n");  
     }system("pause");return 0; 
}

⌨️ 快捷键说明

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