主题:一道编程题
陈贺QB
[专家分:140] 发布于 2005-08-19 13:01:00
3
323
32123
3210123
32123
323
3
回复列表 (共12个回复)
沙发
咖啡猪 [专家分:290] 发布于 2005-08-19 15:27:00
这个问题好象论坛里有吧
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])
板凳
jyf1987 [专家分:930] 发布于 2005-08-22 09:50:00
除非特别需要不要用n重循环
3 楼
def [专家分:3380] 发布于 2005-08-22 10:57:00
用goto是最快的
4 楼
我是一只鱼 [专家分:170] 发布于 2005-08-25 20:34:00
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 楼
def [专家分:3380] 发布于 2005-08-25 23:21:00
print" 3"
print" 323"
print" 32123"
print" 3210123"
print" 32123"
print" 323"
print" 3"
6 楼
咖啡猪 [专家分:290] 发布于 2005-08-25 23:47:00
且有程序出口,虽不优化也算标准了
我在发了这个帖后发现论坛里有一个关于不从O开始的,这一点我当时倒没有想到。
其实如果只照题目完成,楼上def也没有错呀,而且简单,经典!!!
7 楼
咖啡猪 [专家分:290] 发布于 2005-08-25 23:47:00
大哥呀,小弟的程不只输出一次也不只只输出"3210123"
且有程序出口,虽不优化也算标准了
我在发了这个帖后发现论坛里有一个关于不从O开始的,这一点我当时倒没有想到。
其实如果只照题目完成,楼上def也没有错呀,而且简单,经典!!!
8 楼
lwm1988 [专家分:90] 发布于 2005-08-26 10:12:00
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 楼
spray [专家分:180] 发布于 2005-09-02 05:56:00
建议:请在标题中具体、明确点明主题,最好不用“小菜问题”、“一道题”之类的模糊标题。
10 楼
莹萍 [专家分:130] 发布于 2005-09-03 13:32:00
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
我来回复