回 帖 发 新 帖 刷新版面

主题:[讨论]怎样打印菱形??????????

如:
                                *
                               ***
                              *****
                               ***
                                *

回复列表 (共15个回复)

沙发

CLS
INPUT n
FOR i = 1 TO n
PRINT TAB(n - i + 1);
FOR j = 1 TO 2 * i - 1
IF j > i THEN PRINT USING "#"; 2 * i - j;  ELSE PRINT USING "#"; j;
NEXT
PRINT
NEXT

板凳

CLS
INPUT n
FOR a = -(n - 1) / 2 TO (n - 1) / 2
 PRINT TAB(ABS(a) + 1);
  FOR b = 1 TO 2 * ((n + 1) / 2 - ABS(a)) - 1
   PRINT "*";
  NEXT b
 PRINT
NEXT a

3 楼

INPUT N
M=N\2
FOR I=-M TO M
  print TAB(ABS(I)+1);STRING$(N-ABS(I)*2,"*")
NEXT I

4 楼

简单易懂。
INPUT N
FOR I=1 TO N
  PRINT TAB(N+1-I);
  FOR J=1 TO 2*I-1
    PRINT"*";
  NEXT J
  PRINT
NEXT I
FOR I=N-1 TO 1 STEP-1
  PRINT TAB(N+1-I);
  FOR J=1 TO 2*I-1
    PRINT"*";
  NEXT J
  PRINT
NEXT I

也给我加分,好吗?

5 楼

CLS
INPUT N
M = N \ 2
FOR I = -M TO M
  PRINT TAB(ABS(I) + 1);
  FOR J = 1 TO N - ABS(I) * 2
    PRINT "*";
  NEXT J: PRINT
NEXT I
END

6 楼

CLS
INPUT "N=",N
FOR I = 1 TO N
  PRINT TAB(N - I + 1);
  FOR J = 1 TO 2 * I - 1
    IF J > I THEN PRINT USING "#"; 2 * I - J;  ELSE PRINT USING "#"; J;
  NEXT J
  PRINT
NEXT I
END

7 楼

CLS
INPUT N:M = N \ 2
FOR I = -M TO M
  PRINT TAB(ABS(I) + 1);
  FOR J = 1 TO N - ABS(I) * 2:PRINT "*";:  NEXT J
  PRINT
NEXT I
END
加分!!!!!!!!!!!!!!!!!!!!!!!!111

8 楼

1楼的.6楼的调试过没有,打出来根本不是菱形嘛.
cls
input n:m=n-1         'n代表菱形边长
for i=-m to m
?tab(abs(i)+1);string$(n+m-abs(i)*2,"*")
next i
end

9 楼

CLS
INPUT N
M = N \ 2 + 1
FOR I = 1 TO N
  PRINT TAB(ABS(M - I) + 1); STRING$(N - ABS(M - I) * 2, "*")
NEXT I
END

10 楼

提醒一下,6楼的程序不对!
主要需要用PRINT TAB语句,如下程序:
CLS
INPUT N:M = N \ 2
FOR I = -M TO M
  PRINT TAB(ABS(I) + 1);
  FOR J = 1 TO N - ABS(I) * 2:PRINT "*";:  NEXT J
  PRINT
NEXT I
END

我来回复

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