求大神帮我设计一个5阶魔方方阵.用C语言 不要C++输出如下 17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9 运行出来就是这个
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 23:47:45
求大神帮我设计一个5阶魔方方阵.用C语言 不要C++输出如下 17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9 运行出来就是这个
求大神帮我设计一个5阶魔方方阵.用C语言 不要C++
输出如下 17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9 运行出来就是这个
求大神帮我设计一个5阶魔方方阵.用C语言 不要C++输出如下 17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9 运行出来就是这个
你想求5的话 输入5就行了 会显示输出5阶以下的魔方阵
#include<stdio.h>
void main()
{
int i,j,k,m,n;
int a[20][20];
printf("please input the m:");
scanf("%d",&m);
for(n=3;n<=m;n++)
{
if(n%2!=0)
{
printf("%4d阶魔方阵如下:\n",n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=0;
j=n/2;
a[0][j]=1;
for(k=2;k<=n*n;k++)
{
i--;
j++;
if(i<0)
i=n-1;
else if(j>n-1)
j=0;
if(a[i][j]==0)
a[i][j]=k;
else
{
i=(i+2)%n;
j=(j-1+n)%n;
a[i][j]=k;
}
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n\n");
}
}
}
}
调试运行吧!