回 帖 发 新 帖 刷新版面

主题:一道编程题


                                  3
                                 323
                                32123
                               3210123
                                32123
                                 323
                                  3

回复列表 (共12个回复)

沙发

这个问题好象论坛里有吧
10以上的不知道你要怎么处理?
我是这样处理的,不过不够优化,你自己改改吧。
------------------------
CLS: CLEAR
10 LOCATE 1, 1: INPUT "", SHU
IF SHU < 0 THEN CLS : SYSTEM
CLS
X = SHU + 1: Y = SHU + 1
IF SHU * 2 + 1 > 25 THEN
   PRINT "该数太大,无法在一屏显示"
   ELSE
   FOR A = 0 TO SHU
       FOR B = A TO SHU
          LOCATE X + A, Y + B - A: PRINT RIGHT$(STR$(A + N), 1);
          LOCATE X + A, Y - B + A: PRINT RIGHT$(STR$(A + N), 1);
          LOCATE X - A, Y + B - A: PRINT RIGHT$(STR$(A + N), 1);
          LOCATE X - A, Y - B + A: PRINT RIGHT$(STR$(A + N), 1);
          N = N + 1
       NEXT B
       N = 0
   NEXT A
END IF
GOTO 10
------------------------
行的话别忘了给我加分哦(分少没办法[em8])

板凳

除非特别需要不要用n重循环

3 楼

用goto是最快的

4 楼

cls
a$="3210123"
for i=-(len(a$)-1)\2 to (len(a$)-1)\2
  print tab(25+abs(i));
  c=len(a$)-2*abs(i)
  print left$(a$,c\2)+right$(a$,c-c\2)
next i
end

5 楼

print"                            3"
print"                           323"
print"                          32123"
print"                         3210123"
print"                          32123"
print"                           323"
print"                            3"

6 楼

且有程序出口,虽不优化也算标准了

我在发了这个帖后发现论坛里有一个关于不从O开始的,这一点我当时倒没有想到。

其实如果只照题目完成,楼上def也没有错呀,而且简单,经典!!!

7 楼

大哥呀,小弟的程不只输出一次也不只只输出"3210123"
且有程序出口,虽不优化也算标准了

我在发了这个帖后发现论坛里有一个关于不从O开始的,这一点我当时倒没有想到。

其实如果只照题目完成,楼上def也没有错呀,而且简单,经典!!!

8 楼

CLS
FOR i = 1 TO 4
  PRINT TAB(15 - i);
  p = 3
   FOR j = 1 TO 2 * i - 1
     PRINT LTRIM$(STR$(p));
     IF j < i THEN p = p - 1 ELSE p = p + 1
   NEXT j
   PRINT
NEXT i
z = 1
FOR i = 3 TO 1 STEP -1
  PRINT TAB(11 + z);
  p = 3
   FOR j = 2 * i - 1 TO 1 STEP -1
    PRINT LTRIM$(STR$(p));
    IF j > i THEN p = p - 1 ELSE p = p + 1
   NEXT j
z = z + 1
NEXT i
END

9 楼

建议:请在标题中具体、明确点明主题,最好不用“小菜问题”、“一道题”之类的模糊标题。

10 楼

FOR i = 1 TO 4
PRINT TAB(10 - i);
FOR x = 1 TO i
PRINT CHR$(52 - x);
NEXT x
FOR x = i - 1 TO 1 STEP -1
PRINT CHR$(52 - x);
NEXT x
PRINT
NEXT i
FOR i = 3 TO 1 STEP -1
PRINT TAB(10 - i);
FOR x = 1 TO i
PRINT CHR$(52 - x);
NEXT x
FOR x = i - 1 TO 1 STEP -1
PRINT CHR$(52 - x);
NEXT x
PRINT
NEXT i
END

我来回复

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