C语言 | 输出魔方矩阵
例63:C语言实现输出“魔方阵”。所谓魔方阵是指它的每一行,每一列和对角线之和均相等。
解题思路:魔方阵中各数的排列规律,魔方阵的阶数应该为奇数。
将1放在第1行中间一列
从2开始直到n*n止各数依次按下:每一个数存放的行比前一个数的行数减1,列数加1.
如果上一数的行为为1,则下一个数的行数为n
当上一个数的列数为n时,下一个数的列数应为1,行数减1
按上面的规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面
源代码演示:
#include<stdio.h>//头文件
int main()//主函数
{int a[20][20]={0};//定义二维数组 int i,j,n,k; //定义整型变量 i=1;//赋值 printf("请输入阶数为1~15之间的奇数:\n");//提示语句 scanf("%d",&n);//输入魔方阵的维度nj=n/2+1; // j是维度的一半加1.a[i][j]=1; //确定第一排的中间一个数为1for(k=2;k<=n*n;k++)//已经确定1的位置了,再循环确定2~n*n的位置{i=i-1; //挪位,竖排往上挪一位。j=j+1; //挪位,横排往右挪一位。if((i<=0)&&(j<=n)) //如果竖排挪到顶,同时横排还没有超过最右,竖排就到从最下再继续。{i=n; } if((i<=0)&&(j>n)) //如果竖排挪到顶,同时横排超过最右,竖排往下挪两位,横排往左移一位。{ i=i+2; j=j-1; } if(j>n) //如果只有横排超过最右,横排挪到左边第二行。{ j=1; } if(a[i][j]==0){a[i][j]=k; //如果这个位置还没有赋值,那么赋值为k。} else //已经赋值过了。那么竖排往下挪两位,横排往左移一位,再赋值为k。{ i=i+2; j=j-1; a[i][j]=k;} } for(i=1;i<=n;i++) //循环输出位置。{for(j=1;j<=n;j++){printf("%3d ",a[i][j]);} printf("\n");//换行 }
}
编译运行结果如下:
请输入阶数为1~15之间的奇数:
38 1 63 5 74 9 2--------------------------------
Process exited after 1.327 seconds with return value 3
请按任意键继续. . .
以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
C语言输出魔方矩阵
更多案例可以go公众号:C语言入门到精通
C语言 | 输出魔方矩阵相关推荐
- 用c语言输出魔方阵答案,C语言——输出“魔方阵”(带解析)
魔方阵:每一行 每一列 对角线之和均相等,要求输出n阶魔方阵 总结的五大规律: 1.把 1 放第一行中间 2.行-1 列+1 3. if(上个数1行n列) 放它下边 (i=i+2; ...
- 用c语言输出魔方阵答案,如何用C语言输出一个1—16 组成的4*4的魔方阵
int b,c,d,e,f; printf("请输入魔方阵的阶数:"); scanf("%d",&b); e=b/2; d=0; for(c=1;c&l ...
- C/C++小程序学习:n*n魔方矩阵实现每行、每列、每一对角线上的元素之和相等
用一个程序实现n*n魔方矩阵中,每一行.每一列.每一对角线上的元素之和相等. 矩阵规律: 本程序只适合基数,解释如下: N 为奇数时,此题中N设为5 (1) 将1放在第一行中间一列; (2) 从2开 ...
- 任意阶幻方(魔方矩阵)C语言实现
魔方又称幻方.纵横图.九宫图,最早记录于我国古代的洛书.据说夏禹治水时,河南洛阳附近的大河里浮出了一只乌龟,背上有一个很奇怪的图形,古人认为是一种祥瑞,预示着洪水将被夏禹王彻底制服.后人称之为&quo ...
- C语言输出4*5的矩阵
例14:C语言实现输出4*5的矩阵. 解题思路:可以用循环的嵌套来处理此问题,用外循环来输出一行数据,用内循环来输出一列数据.要注意设法输出矩阵的格式,即每输出完5个数据后换行. 源代码演示: #in ...
- c语言二维数组对角线输出字符,用C编程一个4*4的矩阵,用二维数组,求对角线元素的和。,c语言如何使二维数组 输出为矩阵的形式...
导航:网站首页 > 用C编程一个4*4的矩阵,用二维数组,求对角线元素的和.,c语言如何使二维数组 输出为矩阵的形式 用C编程一个4*4的矩阵,用二维数组,求对角线元素的和.,c语言如何使二维数 ...
- C语言 S形矩阵输出
C语言 S形矩阵输出 将n个正整数1,2,3,4-按s形填入数组,并进行输出. [测试输入] 4 2 [预期输出] 1 2 4 3 6 5 7 8 源代码 #define _CRT_SECURE_NO ...
- C语言输出矩阵的主对角线和以及次对角线和
问题描述 编写程序,由用户输入一个整数n,然后系统随机生成一个nx n矩阵,输出该矩阵,并分别求出其主对角线元素和次对角线元素之和. 例如下面为一个3 x 3的矩阵. 2 0 5 3 1 8 6 7 ...
- n阶魔方的构成方法C语言,穷举法打印n阶魔方矩阵
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 // 穷举法打印n阶魔方矩阵 n <= 10 #include #include int A[ 11 ][ 11 ]; bool Flag[ 1 ...
- 用c语言验证5阶魔方矩阵,穷举法打印n阶魔方矩阵
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 // 穷举法打印n阶魔方矩阵 n <= 10 #include #include int A[ 11 ][ 11 ]; bool Flag[ 1 ...
最新文章
- SELECT语句小结
- Sicily 1155. Can I Post the lette
- 干货 | 126 篇 AI 原创文章精选(ML、DL、资源、教程)
- .NET Core 和 .NET Framework 之间的关系
- redis timeout设置多少合适_热水器怎么调温度?一般热水器温度设置多少度比较合适?...
- 【超强、超详细Redis入门教程】
- 如何在腾讯云服务器部署web项目
- 软件服务化:管理当先
- 交换Button中图片与文字左右位置
- 修改服务器ssh欢迎界面
- 英语钻石法则(六)-----学习地道、实用的材料
- 性能测试分析之-CPU时间分类与饱和度
- 使用Qt编辑关闭窗口程序的一些见解
- android使用ContentProvider初始化sdk,初始化时机
- PhoneGap简介
- 云看大熊猫,动物园如何利用视频技术玩转动物IP?
- 一加7pro电脑模式_一加7Pro怎么开启游戏模式 手机性能参数介绍
- Problem A: 小蛮腰
- CodeForces - 1202E You Are Given Some Strings...
- 应用回归分析pdf网盘_艾媒咨询|2020上半年中国个人网盘市场现状及头部企业布局研究报告...