《一》魔方阵说明:

魔方阵是一个N*N的矩阵;

该矩阵每一行,每一列,对角线之和都相等;

《二》魔方阵示例:

三阶魔方阵:

8   1   6

3   5   7

4   9   2

每一行之和:8+1+6=15;

3+5+7=15;

4+9+2=15;

每一列之和:8+3+4=15;

1+5+9=15;

6+7+2=15;

对角线之和:8+5+2=15;

6+5+4=15;

《三》魔方阵计算规律(行,列以1开始):

1.将“1”放在第一行,中间一列;

2.从2开始至N*N各数按如下规律:

每一个数存放的行比上一个数的行减1;

每一个数存放的列比上一个数的列加1;

3.当一个数行为1,下一个数行为N;

4.当一个数列数为N,下一个数列数为1,行数减1;

5.若按上述规则确定的位置有数字,或上一个数位第1行第N列,

下一个数字位置为上一个数的正下方(即行数减1,列数不变);

《四》源代码:

 #define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h> #define N 5 int main()
{
int a[N][N] = {};
int count = ;
int row = , cul = N / ;
while (count <= N*N)
{
a[row][cul] = count;
int i = row;
int j = cul;
if (i == )
{
i = N - ;
}
else
{
i = i - ;
}
j = (j + ) % N;
if (a[i][j]!=||(row==&&cul==N-))
{
i = row + ;
j = cul;
}
row = i;
cul = j;
count++;
} for (int i = ; i < N; i++)
{
for (int j = ; j < N; j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
} system("pause");
}

C语言——打印魔方阵(每一行,每一列,对角线之和相等)的更多相关文章

  1. 任意阶魔方阵(幻方)的算法及C语言实现

    写于2012.10: 本来这是谭浩强那本<C程序设计(第四版)>的一道课后习题,刚开始做得时候去网上找最优的算法,结果发现奇数和双偶数(4的倍数)的情况下算法都比较简单,但是单偶数(2的倍 ...

  2. 魔方阵算法及C语言实现

    1 魔方阵概念 填充的,每一行.每一列.对角线之和均相等的方阵,阶数n = 3,4,5….魔方阵也称为幻方阵. 例如三阶魔方阵为: 魔方阵有什么的规律呢? 魔方阵分为奇幻方和偶幻方.而偶幻方又分为是4 ...

  3. 神奇的魔方阵--(MagicSquare)(1)

    本篇文章只对奇数阶以及偶数阶中阶数n = 4K的魔方阵进行讨论.下面就让我们进入正题: 1 :魔方阵的相关信息:(百度百科) https://baike.baidu.com/item/%E9%AD%9 ...

  4. n阶魔方阵(奇数阵)的输出

    需求 要求输出1~n²的自然数构成的魔方阵. STEP 1 什么是魔方阵? 魔方阵,古代又称“纵横图”,是指组成元素为自然数1.2…n2的平方的n×n的方阵,其中每个元素值都不相等,且每行.每列以及主 ...

  5. Android之——JNI配置C语言打印Logcat信息

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47425073 这篇文章给大家介绍一下在JNI中怎样为C语言配置打印Logcat信息 ...

  6. C语言打印年历

    摘要:使用C语言打印年历 最初看到这个是觉得比较有意思,记得读书时候只写过月历,年历要复杂一些,现在水平提高了,来重新写一下吧. 看了网上的一些代码,大都比较繁琐,本文采用全新的思路完成年历打印. 整 ...

  7. 神奇的魔方阵--(MagicSquare)(2)

    在上一篇博客中,我们讨论了阶数为奇数,以及阶数为(4K)的魔方阵的排列规则,以及代码实现(详见:https://www.cnblogs.com/1651472192-wz/p/14640903.htm ...

  8. 【2(2N+1)魔方阵 】

    /* 2(2N+1)魔方阵 */ #include<stdio.h> #include<stdlib.h> #define N 6 #define SWAP(x, y) {in ...

  9. C语言打印100到200之间的素数

    用C语言打印素数,我们首先要了素数的相关定义:只有1和它本身两个因数的自然数,也就是说除了1和它本身外,不能被其他自然数整除的数就称为素数. 例如:101只能被1 和101 整除:103只能被1 和1 ...

随机推荐

  1. 2013 ACM区域赛长沙 H zoj 3733 (hdu 4798) Skycity

    题意:一个圆台,底面和顶面半径分别为R,r,然后高度为H,一共F层,每层高度一样,然后要在每层的天花板上贴方格玻璃,方格玻璃要满足以下几个条件: 方格玻璃面积不能小于S,且方格玻璃要围成一个正多边形, ...

  2. Camera图像处理原理及实例分析-重要图像概念

    Camera图像处理原理及实例分析 作者:刘旭晖  colorant@163.com  转载请注明出处 BLOG:http://blog.csdn.net/colorant/ 主页:http://rg ...

  3. deep learning(1)BP神经网络原理与练习

    具体原理参考如下讲义: 1.神经网络 2.反向传导 3.梯度检验与高级优化 看完材料1和2就可以梳理清楚bp神经网络的基本工作原理,下面通过一个C语言实现的程序来练习这个算法 //Backpropag ...

  4. HW3.11

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  5. 局域网yum服务器创建

    yum createrepo createrepo dir 配置httpd发布yum-repo; 在客户端添加yum.rep配置文件;

  6. 初次接触Android ActionBar比较烦人的问题[转]

    本文转自:http://blog.csdn.net/u010933209/article/details/40112079 问题一:icon不能正常显示 一直都对actionbar又爱又恨,特别是刚接 ...

  7. 实用Yii扩展

    可以去官方搜索Yii扩展:Extensions | Yii PHP Framework http://www.yiiframework.com/extensions/?tag=tree Yii che ...

  8. [深入浅出Cocoa]详解键值观察(KVO)及其实现机理

    一,前言 Objective-C 中的键(key)-值(value)观察(KVO)并不是什么新鲜事物,它来源于设计模式中的观察者模式,其基本思想就是: 一个目标对象管理所有依赖于它的观察者对象,并在它 ...

  9. Oracle数据库字符串连接方法

    转至:http://database.51cto.com/art/201011/232267.htm 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLSe ...

  10. 【面试虐菜】—— Oracle知识整理《DBA的思想天空》

    Inventory Oracle安装工具OUI用来管理Oracle安装目录的   Oracle的参数文件,启动后按照下面的顺序读取参数文件,如果读取失败,启动数据库 失败: 1  $ORACLE_HO ...