回 帖 发 新 帖 刷新版面

主题:有谁会编这个图形吗?谢谢

编程输出如下图案,行数由键盘输入,并要求为奇数。
                    3
                  * * *
                2 2 2 2 2
              * * * * * * *
            1 1 1 1 1 1 1 1 1
          * * * * * * * * * * *
            1 1 1 1 1 1 1 1 1
                2 2 2 2 2
                  * * *
                    3

回复列表 (共8个回复)

沙发

CLS
FOR i = 1 TO 5 STEP 2
  LOCATE i, 10 - i: PRINT STRING$(2 * i - 1, CHR$(51 - INT(i / 2)))
  LOCATE 12 - i, 10 - i: PRINT STRING$(2 * i - 1, CHR$(51 - INT(i / 2)))
NEXT i
FOR i = 2 TO 6 STEP 2
  LOCATE i, 10 - i: PRINT STRING$(2 * i - 1, "*")
  LOCATE 12 - i, 10 - i: PRINT STRING$(2 * i - 1, "*")
NEXT i

板凳

input n
a=n\2
for i = -a to a
    b=abs(i)
    x=(a+1)-b
    c$=(b+1)/2
    print tab(30-x);
    if b mod 2<> 0 then
       print string$(2*x-1,ltrim$(str$(c$)))
    else
       print string$(2*x-1,"*")
    end if
next i
end

3 楼

这图有问题啊~~~~~~~~~~~~~~!!!!!!!!!!!!1

4 楼

用TAB编吧!~

5 楼

这个图形有点错了啊

6 楼

应该是这个图吧:                  
                    3
                  * * *
                2 2 2 2 2
              * * * * * * *
            1 1 1 1 1 1 1 1 1
          * * * * * * * * * * *
            1 1 1 1 1 1 1 1 1
              * * * * * * *  
                 2 2 2 2 2
                  * * *
                    3

7 楼

这样做:
CLS
FOR i = 1 TO 5 STEP 2
  LOCATE i, 10 - i: PRINT STRING$(2 * i - 1, CHR$(51 - INT(i / 2)))
  LOCATE 12 - i, 10 - i: PRINT STRING$(2 * i - 1, CHR$(51 - INT(i / 2)))
NEXT i
FOR i = 2 TO 6 STEP 2
  LOCATE i, 10 - i: PRINT STRING$(2 * i - 1, "*")
  LOCATE 12 - i, 10 - i: PRINT STRING$(2 * i - 1, "*")
NEXT i
只用把5改成由键盘输入的N就行了。[em1]

8 楼

INPUT N
FOR I=1 TO N
  PRINT TAB(ABS((N+1)\2-I+1);
  FOR J=1 TO I*2-1
    IF I MOD 2=0 THEN 
      PRINT"*";
    ELSE
      PRINT USING"#";ABS((N+1)\2-I+1)\2;
    ENDIF
  NEXT J
  PRINT
NEXT I
END

我来回复

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