分类：电脑/网络-软件
问题：C语言编程2、将1
2、  将1-9 9个数字填入下表，使每横行、每竖行和每条对角线上的数字之和相等。（要求同上题）
    
    
    

回答： main()     {       int   array[16][16],i,j,k,n;     /*初始化*/     while   (1)       {printf(“请输入n.(0<n<16),n是奇数.\n”);         scanf(“%d”,&n);         if((n>0)&&(n<16)&&(n%2!=0))               {printf(“矩阵阶数是%d\n”,n);                 break;                 }       }     for(i=1;i<=n;i++)           for(j=1;j<=n;j++)                   array[i][j]=0;     /*建立矩阵*/     j=(n/2)+1;     array[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(array[i][j]==0)                   array[i][j]=k;                   else                   {i=i+2;                     j=j-1;                     array[i][j]=k;                     }           }     /*输出n阶魔方矩阵*/     for(i=1;i<=n;i++)           for(j=1;j<=n;j++)                   printf(“%5d”,array[i][j]);                   printf(“\n”);           }