当前位置: 首页 > news >正文

C语言 输出n阶魔方阵

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

3  5  7

4  9  2
要求输出1~n^2的自然数构成的魔方阵。

#include <stdio.h>void generateMagicSquare(int n) {int magicSquare[n][n];// 初始化矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {magicSquare[i][j] = 0;}}int num = 1;int i = 0, j = n / 2;while (num <= n * n) {magicSquare[i][j] = num++;int newi = (i - 1 + n) % n;int newj = (j + 1) % n;if (magicSquare[newi][newj] != 0) {i = (i + 1) % n;} else {i = newi;j = newj;}}printf("%d阶魔方阵:\n", n);for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {printf("%3d ", magicSquare[i][j]);}printf("\n");}
}int main() {int n;printf("输入魔方阵的阶数:");scanf("%d", &n);if (n % 2 == 0) {printf("阶数必须为奇数!\n");} else {generateMagicSquare(n);}return 0;
}

 

代码说明:

- 生成一个n阶(奇数)的魔方阵。

- 按照特定规则填充矩阵:从第一行中间开始,按对角线方向填充数字,如果位置已被占用,则向下移动。

- 最后输出生成的魔方阵。

相关文章:

  • 语法糖:代码中的甜品
  • 世上最懂交易原理的是佛学
  • VS2019运行报错 应输入预处理器指令
  • 通信网络机房服务器搬迁方案要求
  • Java面试八股之MySQL的redo log和undo log
  • Drools开源业务规则引擎(五)- jBPM流程图元素介绍
  • 7.8作业
  • 仪表板展示|DataEase看中国:2023年中国新能源汽车经济运行情况分析
  • vue3+ts 重复参数提取成方法多处调用以及字段无值时不传字段给后端
  • 2011年的数字IC设计面经
  • MySQL:left join 后用 on 还是 where?
  • 解决Linux中已安装JDK但是java找不到命令问题
  • matlab实现pid控制空调温度
  • 昇思25天学习打卡营第19天 | ResNet50迁移学习再续
  • 【JVM-04】线上CPU100%
  • C++入门教程(10):for 语句
  • JavaScript 基础知识 - 入门篇(一)
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • OSS Web直传 (文件图片)
  • Spring Boot MyBatis配置多种数据库
  • 测试开发系类之接口自动化测试
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • - 概述 - 《设计模式(极简c++版)》
  • 你不可错过的前端面试题(一)
  • 前端路由实现-history
  • 如何用vue打造一个移动端音乐播放器
  • 深度学习在携程攻略社区的应用
  • 系统认识JavaScript正则表达式
  • 数据可视化之下发图实践
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (2)空速传感器
  • (27)4.8 习题课
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (4)STL算法之比较
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (day18) leetcode 204.计数质数
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (LeetCode 49)Anagrams
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)iOS字体
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • ... 是什么 ?... 有什么用处?
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑