zoukankan      html  css  js  c++  java
  • 输出n阶“魔方阵”

    魔方阵:每一行、每一列和对角线之和均相等。

    程序如下:

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 int main()
     4 {
     5     //输出魔方阵
     6     int i,j,k,p,n,a[15][15];
     7     p=1;//用于判断输入的数字是否符合条件
     8     while(p==1){
     9         printf("enter n (n=1--15):");
    10         scanf("%d",&n);
    11         if((n!=0)&& (n<=15) && (n%2!=0))
    12             p=0;
    13     }
    14     //初始化
    15     for(i=1;i<=n;i++)
    16         for(j=1;j<=n;j++)
    17             a[i][j]=0;
    18     j=n/2 + 1;
    19     a[1][j]=1;
    20     for(k=2;k<=n*n;k++){
    21         i=i-1;
    22         j=j+1;
    23         //确立数放置的位置
    24         if((i<1) && (j>n)){
    25             i=i+2;
    26             j=j-1;
    27         }
    28         else{
    29             if(i<1) i=n;
    30             if(j>n) j=1;
    31         }
    32         //置数
    33         if(a[i][j]==0){
    34             a[i][j]=k;
    35         }else{//位置上已有数
    36             i=i+2;
    37             j=j-1;
    38             a[i][j]=k;
    39         }
    40     }
    41     //输出魔方阵
    42     for(i=1;i<=n;i++){
    43         for(j=1;j<=n;j++)
    44             printf("%5d",a[i][j]);
    45         printf("
    ");
    46     }
    47     system("pause");
    48     return 0;
    49 }
  • 相关阅读:
    高精度 模板
    《图论》邻接表
    模板整理
    H
    C
    同余定理的应用(处理大数
    H
    1153: 简易版最长序列
    1152: 二分搜索
    1151: 大整数加法(正数)
  • 原文地址:https://www.cnblogs.com/crystalmoore/p/5923068.html
Copyright © 2011-2022 走看看