回 帖 发 新 帖 刷新版面

主题:有趣射心

请打印以下蛇行!
13 11 10  4  3
12  9  5  2  7
 8  6  1  6  8
 7  2  5  9 13
 3  4 10 11 12

回复列表 (共2个回复)

沙发

是不是需要拆成两半来做?请指教...............

板凳

CLS
DO
  INPUT X
LOOP UNTIL X MOD 2 = 1
DIM A(X, X)
K = (X * X + 1) \ 2
FOR S = 1 TO X - 1
  IF S MOD 2 = 1 THEN
    FOR I = 1 TO S
      A(I, S + 1 - I) = K
      K = K - 1
    NEXT I
  ELSE
    FOR I = S TO 1 STEP -1
      A(I, S + 1 - I) = K
      K = K - 1
    NEXT I
  END IF
NEXT S
K = (X + 1) \ 2
FOR I = 1 TO X
  IF I < (X + 1) \ 2 THEN A(X + 1 - I, I) = K: K = K - 1
  IF I >= (X + 1) \ 2 THEN A(X + 1 - I, I) = K: K = K + 1
NEXT I
M = X + 2: N = X + 2
FOR S = X - 1 TO 1 STEP -1
  IF S MOD 2 = 0 THEN
    FOR I = X TO X + 1 - S STEP -1
      A(I, M - I) = K
      K = K + 1
    NEXT I
    M = M + 2
  ELSE
    FOR I = X + 1 - S TO X
      A(I, N + 1 - I) = K
      K = K + 1
    NEXT I
    N = N + 2
  END IF
NEXT S
FOR I = 1 TO X
  FOR J = 1 TO X
    PRINT USING "###"; A(I, J);
   NEXT J
   PRINT
NEXT I
END
偶数好像不可以哦!

我来回复

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