输出“魔方阵“

简介: 输出“魔方阵“

输出"魔方阵"。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。

#include<stdio.h>
int main()
{
  int a[15][15], i, j, k,n=0;
  //校验输入的是不是偶数或者是不是超过了15
  while ((n % 2 == 0) || (n > 15) || (n==0))
  {
    printf("输入n的值,不能是偶数,不能超过15:");
    scanf("%d", &n);
  }
  //将数组用0初始化
  for (i = 1; i <= n; i++)
    for (j = 1; j <= n; j++)
      a[i][j] = 0;
  //建立魔方阵
  i = 1; j = (n+1) / 2;
  a[i][j] = 1;
  //i表行,j表列
  for (k = 2; k <= n * n; k++)
  {
    i = i - 1;      //行减1 列加1
    j = j + 1;
    //特殊情况
    if ((i < 1) && (j > n))
    {
      i = i + 2;    //第1行第n列的元素之后的数
      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("%5d", a[i][j]);
    printf("\n");
  }
  return 0;
}
相关文章
|
人工智能 机器学习/深度学习
魔方阵
1 #include 2 #include 3 using namespace std; 4 5 int main() 6 { 7 int i,j,k,T; 8 cin>>T; 9 while(T--) 10 { 11 ...
837 0
|
机器学习/深度学习 C语言 数据格式
打印魔方阵(C语言) 所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
打印魔方阵(C语言) 所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
221 0
|
算法
精选算法题(2)——矩阵螺旋输出
精选算法题(2)——矩阵螺旋输出
|
机器学习/深度学习 人工智能
AI数学基础之:奇异值和奇异值分解
AI数学基础之:奇异值和奇异值分解
|
机器学习/深度学习
【机器学习中的矩阵求导】(二)矩阵向量求导(定义法)
假设:x xx表示标量;X XX表示m×n维的矩阵;求导的因变量用y yy表示标量;Y YY表示p × q p×qp×q维矩阵
156 0
【机器学习中的矩阵求导】(二)矩阵向量求导(定义法)
|
机器学习/深度学习 人工智能
神奇的幻方【够造奇数阶的魔方阵】
http://noi.openjudge.cn/ch0108/22/ 总时间限制:  1000ms 内存限制:  65535kB 描述 幻方是一个很神奇的N*N矩阵,它的每行、每列与对角线,加起来的数字和都是相同的。
1342 0
|
9月前
|
Python
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交
|
9月前
|
存储 算法 Python
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交(2)
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交(2)
|
9月前
|
存储 算法 Python
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交(1)
【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交(1)
|
8月前
线性代数——(期末突击)矩阵(上)-概念篇(矩阵的定义、矩阵的运算、特殊矩阵、初等变换)
线性代数——(期末突击)矩阵(上)-概念篇(矩阵的定义、矩阵的运算、特殊矩阵、初等变换)
185 7

热门文章

最新文章