(初学者)C语言生成奇魔方阵
奇魔方阵的生成方法为:
一、在第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语言生成奇魔方阵相关推荐
- 判断魔方阵c语言程序设计_魔方阵算法及C语言实现
1 魔方阵概念 2填充的,每一行.每一列.对角线之和均相等的方阵,阶数n = 3,4,5-.魔方阵也称为幻方阵. 例如三阶魔方阵为: 魔方阵有什么的规律呢? 魔方阵分为奇幻方和偶幻方.而偶幻方又分为是 ...
- C语言程序设计谭浩强(第四版)部分课后习题作答——第六章-输出杨辉三角,输出魔方阵
代码: 杨辉三角题目较为简单,魔方阵题目实现了输出任意整数即可输出对应的魔方阵 #include<stdio.h> #include<stdlib.h> #include< ...
- C语言学习之输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
输出"魔方阵".所谓魔方阵是指这样的方阵,它的每一行.每一列和对角线之和均相等. 例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2 要求输出1-n²的自然数构成的魔方阵. # ...
- 任意阶魔方阵matlab程序,【精品】任意阶魔方阵算法(c语言)
n阶幻方是由前n^2(n的2次方)个自然数组成的一个n阶方阵,其各行.各列及两条对角线所含的n个数的和相等.洛书就是最基本的3×3阶魔方阵,做出某种最恰当的决定,横竖都有3个格. 0的倒数 a-1可以 ...
- java计算奇数阶魔方阵
一.提出问题 所谓"奇数阶魔方阵"是指n为不小于3的奇数的魔方阵.这类魔方阵的形式多样,这里我们仅讨论其中的一种形式的正规魔方阵.例如:3阶.5阶和7阶的魔方阵如图3 – 4 所示 ...
- 输入一个自然数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 [输入样例 ...
- n阶奇数魔方阵c语言编程,n阶魔方阵C语言
满意答案 ajiarenbk 2013.11.09 采纳率:56% 等级:12 已帮助:5086人 /*15 阶内奇数魔方阵C程序*/ #include main() { int a[16][1 ...
- 打印魔方阵(C语言)
魔方阵是这样的方阵:它的每一行,每一列和对角线之和均相等. 输入n,要求打印由自然数构成的魔方阵(n为奇数) 魔方阵中各数排列规律如下: (1)将"1"放在第一行的中间一列: (2 ...
- C语言 打印5阶魔方阵
Ⅰ)魔方阵介绍 魔方阵,古代又称"纵横图",是指由自然数组成方阵,方阵的每个元素都不想等,且每行.每列以及主.副对角线上各n个元素之和都相等. Ⅱ)魔方阵举例 3 ...
最新文章
- C++ 经常使用类 string类
- Python3.5源码分析-Dict概述
- 机器学习在信道建模中的应用综述
- 计算机网络讨论4,计算机网络实验四
- Swagger的简单使用
- Android开发笔记(一)手势识别
- c/c++笔试面试题(1)
- C++成员变量初始化列表中初始化顺序
- 「翻版王攀」?深大研究生控诉导师不让毕业:读研三年,猪狗不如
- 把chrome的多微博插件FaWave变成桌面程序!
- .bat文件批处理命令语法格式ech,goto,set,for,call,choise,at,set,定时关机命令
- DNS劫持原理,DNS劫持如何解决?
- Android端穿山甲SDK集成
- 微信表情图像代表什么意思_微信表情包每个表情代表什么意思
- 高等数学(下)重积分
- [python]bokeh学习总结——bokeh.layouts
- 腾讯云4核8G服务器S5.LARGE8性能测评
- 2262 c语言软件解码,单片机解码315M的pt2262编码的c51程序
- 【ESP8266点焊机】基于 ESP8266 for Arduino
- 《首先,打破一切常规》读后感