回 帖 发 新 帖 刷新版面

主题:本人跪求高手解答

请各位高手帮忙想想这道题怎么做?
    1  3  4  10  11
    2  5  9  12  19
    6  8  13 18  20
    7  14 17 21  24
    15 16 22 23  25
  N行N列
  我8月20号比赛,帮忙啦![em4][em5]

回复列表 (共16个回复)

沙发

编程黑客 如过连 这都不能自己想 还参加什么 比赛??

板凳

是呀,根据数字找规律啊!

3 楼

DIM n AS INTEGER
INPUT n
DIM i AS INTEGER
DIM j AS INTEGER
DIM s AS INTEGER
DIM b AS INTEGER
DIM a(n, n) AS INTEGER
s = 1

FOR i = 1 TO n
   IF i MOD 2 = 0 THEN
      b = i
      FOR j = 1 TO i
         a(b, j) = s
         s = s + 1
         b = b - 1
      NEXT j
   ELSE
      b = 1
      FOR j = i TO 1 STEP -1
         a(b, j) = s
         s = s + 1
         b = b + 1
      NEXT j
   END IF
NEXT i

FOR i = n - 1 TO 1 STEP -1
    IF i MOD 2 <> 0 THEN
       b = n + 1 - i
       FOR j = n TO n + 1 - i STEP -1
          a(b, j) = s
          s = s + 1
          b = b + 1
       NEXT j
    ELSE
       b = n
       FOR j = n + 1 - i TO n
          a(b, j) = s
          s = s + 1
          b = b - 1
       NEXT j
    END IF
NEXT i

FOR i = 1 TO n
   FOR j = 1 TO n
      PRINT TAB(5 * j); a(i, j);
   NEXT j
   PRINT
   PRINT
NEXT i
END

4 楼

飞鸟,我才小学呀!!!!!!!!!!!!!!

5 楼

zqnhlm
你的程序错了,
输入5会有4个0

6 楼

你会不会复制错了??我这没有问题啊!!

7 楼

我是手打的
因为我不会复制
可我已经对照了NNNNN遍了!!![em10]

8 楼

你说输入5会有4个0,可我的不会啊,你最好复制,很简单,你建一个记事本文件,把程序复制进去后选另存为,把文件名后面的那个  .txt  改成  .bas   就可以了

9 楼

zqnhlm
对不起,我误会你了
是我打错了
可是你的程序我看不懂
能解释一下吗?

10 楼

CLS
DIM a(15, 15) AS INTEGER
INPUT "input 1~15 de ji shu n:"; n
i = 1: j = INT(n / 2) + 1
a(1, INT(n / 2) + 1) = 1
x = n ^ 2
FOR y = 2 TO x
    i = i - 1
    j = j - 1
    IF i < 1 AND j >= 1 THEN
       i = i + n
    ELSEIF i >= 1 AND j < 1 THEN
       j = j + n
    ELSEIF i < 1 AND j < 1 OR a(i, j) <> 0 THEN
       i = i + 2: j = j + 1
    END IF
   a(i, j) = y
NEXT y
FOR i = 1 TO n
  FOR j = 1 TO n
    PRINT USING "####"; a(i, j);
  NEXT j
PRINT
PRINT
NEXT i
END

我来回复

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