XYDDD 发表于 2022-7-27 09:27:15

C语言算法之:设计魔方阵


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

算法题目:

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

编程思路分析

编程思路: 

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


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


程序范例

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


页: [1]
查看完整版本: C语言算法之:设计魔方阵