回 帖 发 新 帖 刷新版面

主题:[讨论]请问:如何用QB来实现N阶幻方

比如3阶,拜托各位DX[em8][em8][em8]

回复列表 (共3个回复)

沙发

CLS
DIM MAGIC(100, 100)
PRINT "N="
INPUT N
FOR I = 1 TO N
  FOR J = 1 TO N
    MAGIC(I, J) = 0
  NEXT J
NEXT I
K = 1: I = 1: J = N \ 2 + 1: MAGIC(I, J) = K
DO
K = K + 1
H = I - 1: L = J - 1
IF H = 0 THEN H = N
IF L = 0 THEN L = N
IF MAGIC(H, L) = 0 THEN MAGIC(H, L) = K: I = H: J = L ELSE MAGIC(I + 1, J) = K: I = I + 1
LOOP UNTIL K >= N * N
PRINT "MAGIC:"
FOR I = 1 TO N
  FOR J = 1 TO N
    PRINT MAGIC(I, J);
  NEXT J
  PRINT
NEXT I

可能打印有点不大好看,但是这不能怪我,因为现在学的是PASCAL,帮你改写过来的,很多格式怎么用都忘的差不多了,呵呵

板凳

LS只要把这句
[quote]PRINT MAGIC(I, J);[/quote]
改成
PRINT USING"####";MAGIC(I, J);
就行了。

3 楼

谢谢LS呵,帮我温故了一下QB!
不知LS大虾的尊姓大名?

我来回复

您尚未登录,请登录后再回复。点此登录或注册