回 帖 发 新 帖 刷新版面

主题:请大家帮我编写打印出如下图形的程序!

                    9
                  8 7 8
                7 6 5 6 7
              6 5 4 3 4 5 6
            5 4 3 2 1 2 3 4 5
              4 3 2 1 2 3 4
                3 2 1 2 3
                  2 1 2
                    1

回复列表 (共6个回复)

沙发

眼睛有点花,刚看出规律,从下往上一圈一圈的排数

板凳

dd$ = "9876543212345678"
FOR i = 1 TO 4
  PRINT SPC(5 - i); MID$(dd$, i, i); MID$(dd$, 20 - 2 * i, i - 1)
NEXT i
FOR i = 1 TO 5
  PRINT SPC(i - 1); MID$(dd$, i + 4, 11 - 2 * i)
NEXT i
END

不过说实话 我觉得这样的程序实在没什么意义
我的实现方法也是投机取巧的

3 楼

谢谢!
能否用一个双重循环编写?

4 楼

FOR i = 9 TO 1 STEP -1
    PRINT chr$(10);SPACE$(ABS(5 - i) * 3);
    k = 0
    FOR j = i TO i
        PRINT j;
        IF j = i - (5 - ABS(5 - i)) + 1 THEN k = 1
        IF k = 0 THEN j = j - 2
NEXT j,i

5 楼

这种题目最好用双重循环
dim i as integer
for i=1 to 5
   print tab(18-3*i);
    for j=1 to i
         print 11-i-j;
     next j
    for j=i-1 to 1 step-1
        print 11-i-j;
    next j
next i
for i=4 to 1 step-1
print tab(18-3*i);
    for j=1 to i
         print 11-i-j;
     next j
    for j=i-1 to 1 step-1
        print 11-i-j;
    next j
next i
end
整个程序的思路:先将它分成上下两部分,然后再将上下两部分分成左右两部分.

6 楼


[em2]

我来回复

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