【问题描述】
输入一个自然数N(2≤N≤9),要求输出如下的魔方阵,即边长为NN,元素取值为1至NN,1在左上角,呈顺时针方向依次放置各元素。
N=3时:
1 2 3
8 9 4
7 6 5
【输入形式】
从标准输入读取一个整数N。
【输出形式】
将结果输出到文件文件file.out。输出符合要求的方阵,每个数字占5个字符宽度,向右对齐,在每一行末均输出一个回车符。
【输入样例】
4
【输出样例】
输出文件file.out内容为:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
【评分标准】
本题不准使用数学库函数。结果正确得20分,每个测试点4分,提交程序文件名为magic.c。
条件是:不能越界,不能被填过数字

  • 代码实现
//2020/3/31
#include<stdio.h>
#include<string.h>void save(int a[][10],int n)
{FILE *fp;fp = fopen("c0604.out","w");int i,j;for(i = 0;i<n;i++){for(j = 0;j<n;j++){fprintf(fp,"%5d",a[i][j]);}fprintf(fp,"\n");}fclose(fp);
}
int main()
{int a[10][10];int n;int var = 1;int x = 0,y = 0;scanf("%d",&n);var = 1;memset(a,0,sizeof(a));a[x][y] = 1;while(var<n*n){while(y+1<=n-1 && !a[x][y+1]) a[x][++y] = ++var;while(x+1<=n-1 && !a[x+1][y]) a[++x][y] = ++var;while(y-1>=0 && !a[x][y-1]) a[x][--y] = ++var;while(x-1>=0 && !a[x-1][y]) a[--x][y] = ++var;}save(a,n);return 0;
}

c0604 旋转魔方阵相关推荐

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

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

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

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

  3. java计算奇数阶魔方阵

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

  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 [输入样例 ...

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

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

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

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

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

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

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

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

  9. 输出魔方阵,所谓魔方阵是指这样的方阵,它的每一行,每一列和对角线之和均相等。例如,三阶魔方阵为

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

最新文章

  1. ESIM (Enhanced LSTM for Natural Language Inference)
  2. java中有hash集合_Java(1.8)集合类中的HashMap
  3. Hologres+Flink流批一体首次落地4982亿背后的营销分析大屏
  4. python 持续集成部署_Jenkins部署git+python项目实现持续集成
  5. tomcat 更新class自动重启
  6. 硅谷经历 7 场面试,我是如何最终进入 Facebook 的
  7. tcp发送方的发送速度由接收方给出的接收窗口决定_TCP协议的详解
  8. go语言中顺序查找的案例--人名查找
  9. c语言编程怎样进行反函数计算器,反函数计算器
  10. 华为网络计算机登陆,华为路由器如何登录192.168.3.1入口设置界面
  11. spring security3 使用自定义MD5或者其他加密规则
  12. CPU性能测试分析MIPS、DMIPS
  13. NMT:神经网络机器翻译
  14. 数据结构求子串、非空子串、真子串、非空真子串数
  15. 微信小程序背景图片不显示
  16. 渗透测试之XSS(跨站脚本攻击)
  17. PowerMock之MVC测试
  18. java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...
  19. 支付宝“刷脸支付”韩国遇冷 真相让人笑出眼泪
  20. html怎么用新页面打开页面打开网页,javascript如何打开新窗口?

热门文章

  1. 机器学习算法-EM算法
  2. vue3下载文件流 下载excel
  3. 李宏毅老师《机器学习》课程笔记-4.2 Batch Normalization
  4. 《Optimising the selection of samples for robust lidar camera calibration》论文解读
  5. java毕业设计旅游分享系统源码+lw文档+mybatis+系统+mysql数据库+调试
  6. Springer 投稿模板latex,可在ctex上运行
  7. matlab实现彩色图像的平移、旋转、缩放、镜像(双线性插值)
  8. 从入门到精通,计算机er如何快速掌握机器学习(ML)?
  9. FPGA进行多路并行插值滤波(多相滤波)的实现原理
  10. 各种插画人物表情画法教程,绘制商业插画人物表情