用一个程序实现n*n魔方矩阵中,每一行、每一列、每一对角线上的元素之和相等。

矩阵规律:

本程序只适合基数,解释如下:
 N 为奇数时,此题中N设为5
(1) 将1放在第一行中间一列;   
(2) 从2开始直到n×n止各数依次按下列规则存放:   
按 45°方向行走,如向右上   
每一个数存放的行比前一个数的行数减1,列数加1   
(3) 如果行列范围超出矩阵范围,则回绕。   
例如1在第1行,则2应放在最下一行,列数同样加1;   
(4) 如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面。

[cpp]  view plain copy
  1. #include<stdio.h>
  2. int main()
  3. {
  4. int a[100][100],x;/*初始化*/
  5. int i,j,m,n,temp;
  6. printf("输出魔方矩阵n=");
  7. scanf("%d",&x);
  8. while(x)
  9. {
  10. if(!(x%2))
  11. {
  12. printf("你输入了偶数,很遗憾本程序将退出");
  13. return 0;
  14. }
  15. else
  16. {
  17. for(i=0;i<x;i++)
  18. for(j=0;j<x;j++)
  19. a[i][j]=0;
  20. i=0;
  21. j=x/2;
  22. a[i][j]=1;
  23. for(temp=2;temp<=x*x;temp++)
  24. {
  25. m=i;
  26. n=j;
  27. i--;
  28. j++;
  29. if(i<0)
  30. i=x-1;
  31. if(j>=x)
  32. j=0;
  33. if(a[i][j]!=0)
  34. {
  35. i=m+1;
  36. j=n;
  37. }
  38. a[i][j]=temp;
  39. }
  40. }
  41. for(i=0;i<x;i++)
  42. {
  43. for(j=0;j<x;j++)
  44. printf("%4d",a[i][j]);
  45. printf("\n");
  46. }
  47. printf("输出魔方矩阵n=");
  48. scanf("%d",&x);
  49. }
  50. return 0;
  51. }

C/C++小程序学习:n*n魔方矩阵实现每行、每列、每一对角线上的元素之和相等相关推荐

  1. 微信小程序学习Course 8 本地缓存API

    微信小程序学习Course 8 本地缓存API 本篇随笔主要介绍微信小程序本地缓存API函数,微信小程序可以在本地缓存一些关键词数据,每一条关键词对应一段字符串.微信小程序提供了以下API函数. 8. ...

  2. 一周小程序学习 第1天

    2019独角兽企业重金招聘Python工程师标准>>> 一周小程序学习 第1天 今日正式开始小程序的学习! 对于刚上手的自学小白,技术选型是很重要的,这在一开始就决定了这条开发学习之 ...

  3. 微信小程序js数组初始化_微信小程序学习Course 3-2 JS数组对象学习

    微信小程序学习Course 3-2 JS数组对象学习 本节主要介绍JS中的数组. 3-2.1 数组的声明 数组声明的方式多种,如下例.一般我们可以先创建一个空数组,然后再填充. var names = ...

  4. 小程序 pagescrollto_微信小程序学习笔记(三)-- 首页及详情页开发

    一.常用组件 在上一个章节中讲解了封装请求数据的模块,在此处请求轮播图的数据 1.首页轮播图数据的请求以及渲染 1.1 轮播图数据的请求 pages/home/home.js import 2 使用组 ...

  5. C语言小案例_小程序学习(三)

    小程序学习--页面设置 案例一  float页面布局效果 1.案例的整体介绍 设计一个小程序,利用float布局来实现页面的布局效果.有两种效果分别是上左右下和上左中右下. 2.案例的代码详解 (1) ...

  6. 小程序学习历程(二):注册小程序测试号

     该文适合还没有微信小程序开发者账号,以及有了开发者账号同时还想注册一个测试账号的读者. 开发者测试账号推出的用意,主要是:方便我们在决定正式注册小程序账号之前,或者仅仅只是想体验一下小程序(或小游戏 ...

  7. 微信小程序学习笔记(1)

    微信小程序学习笔记 1.小程序代码结构 2.逻辑层和视图层 3. 小程序的宿主环境(通信模型.运行机制.组件.API) 4. 数据绑定和事件绑定 1.小程序代码结构 当开发者新建一个工程时,项目文件包 ...

  8. 微信小程序学习(三):在微信开发者工具中,使用WeUI前端美化框架,微信小程序

    微信小程序学习(三):在微信开发者工具中,使用WeUI 这里就是将WeUI导入到微信开发者工具中,我并没有使用多少样式,这里只是展示了一下怎么引用 网上有很多的方法,我绝大多数都没看懂,这里就是最简单 ...

  9. 微信小程序学习笔记一 + 小程序介绍 前置知识

    微信小程序学习笔记一 1. 什么是小程序? 2017年度百度百科十大热词之一 微信小程序, 简称小程序, 英文名 Mini Program, 是一种不需要下载安装即可使用的应用 ( 张小龙对其的定义是 ...

最新文章

  1. C#学习笔记——数据库篇(1)
  2. Tomcat和Jetty对WebSocket的支持
  3. 【转载】jvm内存回收
  4. 存储过程/函数权限的问题解决(The user specified as a definer ('root'@'%') does not exist)...
  5. centos桌面系统使用记录
  6. 力扣(LeetCode)56
  7. 火狐浏览器安装插件“组件未验证无法安装”问题解决
  8. 《教程》使用STLINK烧录STM32程序
  9. idea 删除当一行或者选中行的快捷键
  10. mysql校对集工具_mysql字符集和校对规则(Mysql校对集)
  11. EndNote 毕业论文开题报告 批量导入 参考文献
  12. 1071: 数塔 (动态规划)
  13. 【西瓜创客】2022学年5月21日NOC大赛-初赛线上试题
  14. 如何用Python网络爬虫爬取网易云音乐歌曲
  15. [转]Cortex-a8 arm11 arm9 xscale powerpc 嵌入式处理器实测性能
  16. C#开发基于ESMTP协议的邮件发送系统经验总结
  17. Opencv inRang() 和HSV色彩空间表
  18. 小谈网易云音乐----API
  19. box-sizing:border-box的作用
  20. 一文看懂EtherCAT总线控制

热门文章

  1. jmeter json取样器实现接口之间的关联
  2. 即使你毕业非名校,也能找到月入10k的工作
  3. Linux 软件包安装
  4. php爬取flash的交互数据库,flash用php连接数据库的代码
  5. 关于解决win10的 tencent qqmail plugin 卸载不了的问题
  6. 二、rally使用指导
  7. Flume简介、特点、核心概念及安装
  8. Python爬虫实战:爬取维基百科
  9. CTF--2016中国西安西电华山杯网络安全技能大赛之crackme6
  10. ettercap局域网arp欺骗,轻松窃密