C语言简单问题 !急!
《射雕英雄传》中黄蓉破解瑛姑的九宫格,口诀为:“九宫之义,法以灵龟,二四为肩,六八为足,戴九履一,左三右七,五居中央”,即如下图:试用二维数组实现九宫格(将1至9这九个数字排成方阵,不论纵横斜角,每三个数相加,结果都相等).谢谢大神速答
C语言简单问题 !急!
答案:1 悬赏:70 手机版
解决时间 2021-06-08 20:18
- 提问者网友:你给我的爱
- 2021-06-08 01:00
最佳答案
- 五星知识达人网友:罪歌
- 2021-06-08 01:38
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");
}
}
再问: 运行结果给看下呗
再答:
![](http://img.hahawen.com/upload/a/1d/a1dd32d4485292156661ad43a84c8fcb.jpg)
再问: 大神 你能把程序改成 只允许三行三列的么?这个可能有点复杂,对于喳喳的我 交上去可能有点假
再答: #include stdio.h
int main()
{
int n;
int d[10][10];
int i,j,k,stx,sty,x,y;
n=3;
stx=0;
sty=(n+1)/2;
for(i=stx,j=sty,k=1;k
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯