KinoluKaslana
2016-10-06 05:25
采纳率: 50%
浏览 1.1k
已采纳

C语言数组输出魔方阵的时候我怎么无法得到结果?

内容:
#include
int main()
{
int a[3][3];
int q, i, w, e, t;
q = (int)(3 / 2);
for (i = 0;i < 3;i++)
{
for (t = 0;t < 3;t++)
{
a[i][t] = 0;
}
}
for (i = 1;i <= (3*3);i++)
{
if (i = 1)
{
e = q;
w = 0;
a[w][e] = i;
w = 2;
e = e + 1;
a[w][e] = i, ++i;
continue;
}
if ((w == 0)&&(a[w][e] == 0))
{
if (e == 2)
{
w = 2;
e = 0;
a[w][e] = i;
}
else
{
w = 2;
e = e + 1;
a[w][e] = i;
}
continue;
}
if(a[w][e] == 0)
{
if(e==2)
{
w = 2;
e = 0;
a[w][e] = i;
}
else
{
w = 2;
e = e + 1;
a[w][e] = i;
}
continue;
}
if(a[w][e]!=0||(w==0&&e==2))
{
w = w + 1;
a[w][e] = i;
continue;
}
}

for (i = 0;i < 3;i++)
{
for (w = 0;w < 3;w++)
{
printf("%d\t", a[i][w]);
}
printf("\n");
}
return 0;
}
运行后没任何显示

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Crazy_Plus 2016-10-06 06:02
    已采纳

    for (i = 1; i <= (3 * 3); i++)
    {
    if (i == 1)
    {
    e = q;
    w = 0;
    a[w][e] = i;
    w = 2;
    e = e + 1;
    a[w][e] = i, ++i;
    continue;
    }
    ...
    }
    你这段写的是if(i=1),造成死循环后面的代码得不到执行。

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题