回 帖 发 新 帖 刷新版面

主题:自创自定空心棱形(自己输入字母,用空心棱形输出)

主程序:

CLS
DO
INPUT b$
INPUT n
LOOP UNTIL LEN(B$)<=2
a = n - 1: b = n + 1
PRINT TAB(n); b$
FOR i = 2 TO n
 PRINT TAB(a); b$; : PRINT TAB(b); b$
  a = a - 1: b = b + 1
  NEXT i
  a = a + 2: b = b - 2
  FOR i = 2 TO n - 1
   PRINT TAB(a); b$; : PRINT TAB(b); b$;
    a = a + 1: b = b - 1
    NEXT i
    PRINT TAB(n); b$;
    END



样例输入:? G
          ? 7

样例输出:  
      g
     g g
    g   g
   g     g
  g       g
 g         g
g           g
 g         g
  g       g
   g     g
    g   g
     g g
      g


诸如此类不再一一列举。


顺便发一下文本格式,巩固一下用法(用之前在qb7.1文件夹里建一个pp.in的in文件,pp.out就不用建了,系统在程序执行过后自动创建一个对应的out文件):
CLS
OPEN "pp.in" FOR INPUT AS #1
OPEN "pp.out" FOR OUTPUT AS #2
INPUT #1, b$, n
a = n - 1: b = n + 1
PRINT #2, TAB(n); b$
FOR i = 2 TO n
 PRINT #2, TAB(a); b$; : PRINT #2, TAB(b); b$
   a = a - 1: b = b + 1
     NEXT i
       a = a + 2: b = b - 2
         FOR i = 2 TO n - 1
            PRINT #2, TAB(a); b$; : PRINT #2, TAB(b); b$;
                a = a + 1: b = b - 1
                    NEXT i
                        PRINT #2, TAB(n); b$;
                            END

回复列表 (共11个回复)

11 楼

喂!黄各,给你拿到题,你给我的:


CLS
INPUT n
k = 2: h = 2: l = 1: b = 2: a = 1
FOR i = 1 TO n
 FOR j = i TO n
  PRINT a;
  a = a + k: k = k + 1
 NEXT j
 PRINT
 a = h: l = l + 1: h = h + l: b = b + 1: k = b
NEXT i
END

我来回复

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