回 帖 发 新 帖 刷新版面

主题:菜鸟提问  QB输出三角图形的问题

0       [color=0000FF]  *
         *** 
        *****
       **   **
      ***   ***
       **   **
        *****
         ***
          *[/color]
这个图形怎么编阿
请教各位  谢谢

回复列表 (共13个回复)

沙发

要求这个图形满足什么规律?
不说清楚的话直接?了

板凳

print"0         *"
print"         *** "
print"        *****"
print"       **   **"
print"      ***   ***"
print"       **   **"
print"        *****"
print"         ***"
print"          *"

3 楼

一般来说.楼上的算法(姑且说它是算法)....速度是N快地....效率是N高地.....

4 楼

[quote]要求这个图形满足什么规律?
不说清楚的话直接?了[/quote]
就这个个图形 不能用Print直接打 一排一排输出阿
因该循环语句能解决  小弟就是想不出阿

5 楼

那就定义一个数组
空格是0星号是1
判断着打呗

6 楼

看看这个程序行不行?

7 楼

定义一个数组打印出来是不和上面的程序换汤不换药吗,谁知道算法也给我讲讲,想了半天没想出来

8 楼

编了一个N行的,也不知道楼主的意思是不是这个,不是我再改改
CLS
INPUT "N="; N
FOR I = 1 TO (N + 1) \ 2
  FOR J = 1 TO (N + 1) \ 2 - I
    PRINT " ";
  NEXT J
  IF I <> (N + 1) \ 2 AND I <> (N + 1) \ 2 - 1 THEN
    FOR J = 1 TO I * 2 - 1
      PRINT "*";
    NEXT J
  ELSE
    FOR J = 1 TO I - 2
      PRINT "*";
    NEXT J
    PRINT "   ";
    FOR J = 1 TO I - 2
      PRINT "*";
    NEXT J
  END IF
  PRINT
NEXT I
FOR I = N \ 2 TO 1 STEP -1
  FOR J = 1 TO (N + 1) \ 2 - I
    PRINT " ";
  NEXT J
  IF I <> N \ 2 THEN
    FOR J = 1 TO I * 2 - 1
      PRINT "*";
    NEXT J
  ELSE
    FOR J = 1 TO I - 2
      PRINT "*";
    NEXT J
    PRINT "   ";
    FOR J = 1 TO I - 2
      PRINT "*";
    NEXT J
  END IF
  PRINT
NEXT I
END

9 楼

经过了最近几天的地图编辑器的编写(45度角的,正方型的相对简单些)...

当然...依然没写成功.....^-^|

我总算明白了当年教BASIC的课本上为什么有这些输出*号的题目了

为了培养一个人处理数据的基本能力

后悔啊..当年为什么不老老实实的去学好<<数据结构>>这本书......

奉劝各位..这种题目还是自己去解决.....不然basic还真是白学了

10 楼

上面几位的方法要么不现实,要么太麻烦
CLS
INPUT m
?"0";
FOR i = -m TO m: q = ABS(i)
PRINT TAB(q + 1);
FOR j = -(m - q) TO m - q
IF q < (m + 1) \ 2 AND ABS(j) < (m + 1) \ 2 THEN PRINT " ";  ELSE PRINT "*";
NEXT j: PRINT
NEXT i
END

我来回复

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