奇魔方阵的生成方法为:

一、在第0行中间放置1。

二、对从2开始的其余-1个元素依次按下列规则存放:

1.下一个元素存放在当前元素的上一行、下一列。

2.如果上一行下一列已经有元素,则下一个元素的存放位置为当前列的下一行。

3.在找上一行、下一行或者下一列的时候,必须把这个矩阵看成是回绕的。

int main()
{int row,col,n,prerow,precol;int arr[100][100]={0};printf("请输入奇魔方阵的阶数:>") ;scanf("%d",&n);printf("\n");row=0;col=n/2;arr[row][col]=1;for(int i=2;i<=n*n;i++){row--;col++;if(row<0){row=n-1;}if(col>=n){col=0;}while(1){if(arr[row][col]!=0){row=prerow+1;col=precol;}if(row>=n){row=0;}if(col<0){col=n-1;}if(arr[row][col]==0){arr[row][col]=i;break;}}prerow=row;precol=col;   }for(int i=0;i<n;i++){for(int j=0;j<n;j++){printf("%2d ",arr[i][j]);}printf("\n");}return 0;
}

请输入奇魔方阵的阶数:>5

17 24  1  8 15
23  5  7 14 16
 4  6 13 20 22
10 12 19 21  3
11 18 25  2  9

--------------------------------
Process exited after 1.448 seconds with return value 0

(初学者)C语言生成奇魔方阵相关推荐

  1. 判断魔方阵c语言程序设计_魔方阵算法及C语言实现

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

  2. C语言程序设计谭浩强(第四版)部分课后习题作答——第六章-输出杨辉三角,输出魔方阵

    代码: 杨辉三角题目较为简单,魔方阵题目实现了输出任意整数即可输出对应的魔方阵 #include<stdio.h> #include<stdlib.h> #include< ...

  3. C语言学习之输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。

    输出"魔方阵".所谓魔方阵是指这样的方阵,它的每一行.每一列和对角线之和均相等. 例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2 要求输出1-n²的自然数构成的魔方阵. # ...

  4. 任意阶魔方阵matlab程序,【精品】任意阶魔方阵算法(c语言)

    n阶幻方是由前n^2(n的2次方)个自然数组成的一个n阶方阵,其各行.各列及两条对角线所含的n个数的和相等.洛书就是最基本的3×3阶魔方阵,做出某种最恰当的决定,横竖都有3个格. 0的倒数 a-1可以 ...

  5. java计算奇数阶魔方阵

    一.提出问题 所谓"奇数阶魔方阵"是指n为不小于3的奇数的魔方阵.这类魔方阵的形式多样,这里我们仅讨论其中的一种形式的正规魔方阵.例如:3阶.5阶和7阶的魔方阵如图3 – 4 所示 ...

  6. 输入一个自然数N,要求输出如下的魔方阵,即边长为N*N,元素取值为1至N*N,1在左上角,呈顺时针方向依次放置各元素。

    输入一个自然数N(2<N<9),要求输出如下的魔方阵,即边长为NN,元素取值为1至NN,1在左上角,呈顺时针方向依次放置各元素. N=3时: 1 2 3 8 9 4 7 6 5 [输入样例 ...

  7. n阶奇数魔方阵c语言编程,n阶魔方阵C语言

    满意答案 ajiarenbk 2013.11.09 采纳率:56%    等级:12 已帮助:5086人 /*15 阶内奇数魔方阵C程序*/ #include main() { int a[16][1 ...

  8. 打印魔方阵(C语言)

    魔方阵是这样的方阵:它的每一行,每一列和对角线之和均相等. 输入n,要求打印由自然数构成的魔方阵(n为奇数) 魔方阵中各数排列规律如下: (1)将"1"放在第一行的中间一列: (2 ...

  9. C语言 打印5阶魔方阵

    Ⅰ)魔方阵介绍      魔方阵,古代又称"纵横图",是指由自然数组成方阵,方阵的每个元素都不想等,且每行.每列以及主.副对角线上各n个元素之和都相等. Ⅱ)魔方阵举例     3 ...

最新文章

  1. C++ 经常使用类 string类
  2. Python3.5源码分析-Dict概述
  3. 机器学习在信道建模中的应用综述
  4. 计算机网络讨论4,计算机网络实验四
  5. Swagger的简单使用
  6. Android开发笔记(一)手势识别
  7. c/c++笔试面试题(1)
  8. C++成员变量初始化列表中初始化顺序
  9. 「翻版王攀」?深大研究生控诉导师不让毕业:读研三年,猪狗不如
  10. 把chrome的多微博插件FaWave变成桌面程序!
  11. .bat文件批处理命令语法格式ech,goto,set,for,call,choise,at,set,定时关机命令
  12. DNS劫持原理,DNS劫持如何解决?
  13. Android端穿山甲SDK集成
  14. 微信表情图像代表什么意思_微信表情包每个表情代表什么意思
  15. 高等数学(下)重积分
  16. [python]bokeh学习总结——bokeh.layouts
  17. 腾讯云4核8G服务器S5.LARGE8性能测评
  18. 2262 c语言软件解码,单片机解码315M的pt2262编码的c51程序
  19. 【ESP8266点焊机】基于 ESP8266 for Arduino
  20. 《首先,打破一切常规》读后感

热门文章

  1. 读书日赠书活动中奖名单公布!
  2. 使用Ubuntu系统中的gparted工具对Ubuntu磁盘扩充
  3. Silverlight 2 RTM介绍
  4. idhttpserver接收数据
  5. c++技术植入qq连连看,最优秀的秒消辅助,这才是真正的秀儿!
  6. java电话键盘字母数字转换_用Java语言将一个键盘输入的数字转化成中文输出
  7. 在Centos7下源代码安装配置Nginx
  8. bss段和data段的区别
  9. Unity-BattleStar丨13. 终章:改善BUG,增加三连发模式
  10. Blender建模模块:内插面的正确姿势