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 }
  • 相关阅读:
    $NOIP2018$赛道修建
    $NOIP2005$过河
    $NOIP2014$飞扬的小鸟
    $[SCOI2014]$方伯伯的玉米田
    大吉大利,晚上吃鸡!
    $HNOI2005$星际贸易
    $CF1142B$ $Lynyrd Skynyrd$
    $SDOI2015$排序
    $NOIP2003$侦探推理
    Build 2016概览
  • 原文地址:https://www.cnblogs.com/crystalmoore/p/5923068.html
Copyright © 2011-2022 走看看