永发信息网

用C语言求:打印出由1到n平方的自然数的魔方阵

答案:1  悬赏:50  手机版
解决时间 2021-03-21 09:53
  • 提问者网友:呐年旧曙光
  • 2021-03-20 16:05
我举个例子:3介魔方阵8 1 63 5 74 9 2就是每一行,每一列和对角线这和都相等
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-03-20 16:58
#include"stdio.h"
main()
{
int a[20][20],i,j,k,p=1,m,n;
while(p==1)
{
printf("Enter n(n=1--19):");
scanf("%d",&n);
if(n>0&&n<=19&&n%2!e799bee5baa6e78988e69d8331333234313336=0)p=0;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
for(k=2;k<=n*n;k++)
{
i-=1;
j+=1;
if(i<1&&j>n)
{
i+=2;
j-=1;
}
else
{
if(i<1)i=n;
if(j>n)j=1;
}
if(a[i][j]==0)a[i][j]=k;
else
{
i+=2;
j-=1;
a[i][j]=k;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)printf("%4d",a[i][j]);
printf("\n\n");
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯