永发信息网

用C#控制台输出N阶魔方阵

答案:3  悬赏:20  手机版
解决时间 2021-04-02 20:43
  • 提问者网友:兔牙战士
  • 2021-04-02 05:37
求高人指点,急用
输入阶数N,电脑输出N*N阶魔方阵
最佳答案
  • 五星知识达人网友:荒野風
  • 2020-01-26 00:36
Console.WriteLine("请输入魔方阵的阶数(奇数):");
int x = Convert.ToInt32(Console.ReadLine());
int[,] a = new int[x, x];
a[0, (x + 1) / 2 - 1] = 1;
int j = 0, k = (x + 1) / 2 - 1;
for (int i = 2; i <= x * x; i++)
{
if ((i - 1) % x == 0)
{
a[j + 1, k] = i;
j = j + 1;
}
else if (k == 0)
{
if (j != 0)
{
a[j - 1, x - 1] = i;
j = j - 1;
k = x - 1;
}
else
{
a[x - 1, x - 1] = i;
j = x - 1;
k = x - 1;
}
}
else if (j == 0)
{
a[x - 1, k - 1] = i;
j = x - 1;
k = k - 1;
}
else
{
a[j - 1, k - 1] = i;
j -= 1;
k -= 1;
}
}
for (int q = 0; q < x; q++)
{
for (int w = 0; w < x; w++)
{
Console.Write(" {0}",a[q, w]);
}
Console.WriteLine();
}
Console.ReadKey();
全部回答
  • 1楼网友:平生事
  • 2020-05-30 20:20
什么是N阶魔法阵? 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯