题目内容
(请给出正确答案)
[主观题]
编写程序,打印n×n的魔方(1,2,…,n2的排列,且每行、每列和每条对角线上的和都相等)。由用户
编写程序,打印n×n的魔方(1,2,…,n2的排列,且每行、每列和每条对角线上的和都相等)。由用户
指定n的值,这里只计算为n奇数的魔方。
把魔方数存储在二维数组中,首先把1放在第0行的中间,剩下的数2,3,…,n2依次向上移动一行,并向右移动一列。当可能越过数组边界时需要“绕回”到数组的另一端。例如,如果需要把下一个数放到-1行,就将其存储到n-1行(最后一行);如果需要把下一个数放到第n列,就将其到第0列。如果某个特定的数组元素已被占用,就把该数存储在前一个数的正下方。
答案
查看答案