设为首页收藏本站language 语言切换
查看: 1055|回复: 0
收起左侧

[分享] C语言算法之:设计魔方阵

[复制链接]
发表于 2022-7-27 09:27:15 | 显示全部楼层 |阅读模式

今天一起分析C语言的算法之16:设计魔方阵。

算法题目:

设计魔方阵:魔方阵就是由自然数组成的方阵,方阵的每个元素都不相同,且每行和每列以及主副对角线上的各个元素之和都不相同。

编程思路分析

编程思路: 

1、用for和if-else语句嵌套实现魔方阵;


2、再用for语句将魔方阵输出显示。


程序范例

#include <stdio.h>
int main()
{
&#160;/*因为数组下标是1-5,所以数组长度是6*/
int i,j;
int x = 1;
int y = 3;
int a[6][6] = {0}; &#160;&#160;
for(i = 1 ; i <= 25; i++)
{
/*将1-25存入数组里面*/
a[x][y] = i; &#160;&#160;
if(x == 1 && y == 5)
{
&#160;/*当上一行的数是第一行第五列的时候,下一个数放在他的下一行*/
&#160; x =x+1; &#160;&#160;&#160;&#160;
&#160; continue;
}
if(x == 1) &#160;&#160;
{
&#160; x = 5;
}
else
{
&#160; x--;
}
if(y == 5)
{
&#160; y = 1;
}
else
{
&#160; y++;
}
/*判断位置上是否有非零数*/
if(a[x][y] != 0) &#160;
{
&#160; x += 2; &#160;&#160;&#160;&#160;&#160;&#160;
&#160; y -= 1;
}
}
/*将魔方阵打印出来*/
for(i = 1 ; i <= 5;i++)
{
&#160; for(j = 1;j <= 5; j ++)
&#160; {
&#160; &#160; printf("%4d",a[i][j]);
&#160; }
&#160; printf("\n");
}
}


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-1 16:51 , Processed in 0.051028 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表