回 帖 发 新 帖 刷新版面

主题:小弟有个问题不能解决了 谁能帮帮我啊! 万分感谢!

用QBASIC 打出


            9
           989
          98789
         9876789
          98789
           989
            9
这样的图形
要求是中间没有空格
有谁能帮我啊
外循环是  -3 TO 3
内循环我就不知道了

回复列表 (共8个回复)

沙发

这个问题需要你自己去做
等你懂得怎么做了的时候
你就可以告诉别人:你已经在学QB了

板凳

CLS
a% = 4
n% = a% * 2 - 1
Max% = 9
count% = 1
FOR i% = 1 TO n%
    M% = Max% + 1
    Byte$ = ""
    FOR j% = 1 TO count% * 2 - 1
        IF j% <= count% THEN
               M% = M% - 1
            ELSE
               M% = M% + 1
        END IF
        Byte$ = Byte$ + LTRIM$(STR$(M%))
    NEXT
    y% = a% - count% + 1
    LOCATE i%, y%
    PRINT Byte$
    IF Flag% = 1 THEN count% = count% - 1
    IF count% < a% AND Flag% = 0 THEN
        count% = count% + 1
        IF count% = a% THEN Flag% = 1
    END IF
NEXT

3 楼

我给你上半部分的程序,运行后就是下面这个图形,后面的自己去做,我可不能做枪手啊
那样是害了你!
            9
           989
          98789
         9876789
          
FOR a = 9 TO 6 step -1
   a2$ = a2$ + LTRIM$(STR$(a))
   a1$ = SPACE$(5- LEN(a2$))
   PRINT a1$; a2$; a3$
   a3$ = LTRIM$(STR$(a)) + a3$
NEXT

4 楼

你们这样子给他答案其实就是在害他
这些东西太基本了,需要他自己去思考的
所谓扶危不扶贫,如是

5 楼

moz,你说的很对
不过,我和QB7。1的答案都不是标准答案,书上的答案可能是用两个FOR循环来解决
对于不同的要求,可以采用不同的方式来解决这个问题

6 楼

a="9876789"
for b=-3 to 3
print tab(20+abs(b));
c=7-2*abs(b)
print left$(a$,c\2)+right$(a$,c-c\2)
next b
end
答案就是这样了,请打分
做枪手也不错啊
书上的答案就是QB45写的这样类型,很容易看懂的

7 楼

给刚刚学习的人当枪手是杀手

8 楼

这么简单的问题 其实自己想一想 就可以明白的
告诉别人 一时帮了他 但是最终的结果是害了他哦

我来回复

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