C语言简单问题 !急!《射雕英雄传》中黄蓉破解瑛姑的九宫格,口诀为:“九宫之义,法以灵龟,二四为肩,六八为足,戴九履一,左三右七,五居中央”,即如下图:试用二维数组实现九宫格(将1至9

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 06:33:19
C语言简单问题 !急!《射雕英雄传》中黄蓉破解瑛姑的九宫格,口诀为:“九宫之义,法以灵龟,二四为肩,六八为足,戴九履一,左三右七,五居中央”,即如下图:试用二维数组实现九宫格(将1至9

C语言简单问题 !急!《射雕英雄传》中黄蓉破解瑛姑的九宫格,口诀为:“九宫之义,法以灵龟,二四为肩,六八为足,戴九履一,左三右七,五居中央”,即如下图:试用二维数组实现九宫格(将1至9
C语言简单问题 !急!

《射雕英雄传》中黄蓉破解瑛姑的九宫格,口诀为:“九宫之义,法以灵龟,二四为肩,六八为足,戴九履一,左三右七,五居中央”,即如下图:

试用二维数组实现九宫格(将1至9这九个数字排成方阵,不论纵横斜角,每三个数相加,结果都相等).

谢谢大神速答


C语言简单问题 !急!《射雕英雄传》中黄蓉破解瑛姑的九宫格,口诀为:“九宫之义,法以灵龟,二四为肩,六八为足,戴九履一,左三右七,五居中央”,即如下图:试用二维数组实现九宫格(将1至9
n=3 的时候.

#include "stdio.h"
int main()
{
int n;
int d[10][10];
int i,j,k,stx,sty,x,y;
printf("输入n:");//n*n阶幻方
scanf("%d",&n);
stx=0;
sty=(n+1)/2;
for(i=stx,j=sty,k=1;k<=n*n;k++,j++,i++)
{
if(i<1)
x=n+i;
else if(i>n)
x=i-n;
else
x=i;
if(j<1)
y=n+j;
else if(j>n)
y=j-n;
else
y=j;
//printf("%d,%d\t",x,y);
d[x][y]=k;
if(k%n==0)
{
stx=stx+1;
sty=sty-1;
i=stx-1;
j=sty-1;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d\t",d[i][j]);
}
printf("\n\n");
}
}