回 帖 发 新 帖 刷新版面

主题:简单""体""

键盘输入一个长度不超过100个字符的字符串,
      这个字符串由A、B、C、D、E、F、G七种大写字母组成,每种字母在串中出现的总数目不超过20。
      编程统计该字符串中每种字符的数目,并在屏幕上显示直方图。
      例如:输入A$="ABACBFGGDEBDDFD"  则屏幕输出如下:

      2    3    1    4    1    2    2
                    ***
          ***       ***
     ***  ***       ***       ***  *** 
     ***  ***  ***  ***  ***  ***  ***
      A    B    C    D    E    F    G

回复列表 (共4个回复)

沙发

CLS
INPUT N$
FOR I = 1 TO 7: A$ = CHR$(64 + I)
FOR J = 1 TO LEN(N$)
IF A$ = MID$(N$, J, 1) THEN B(I) = B(I) + 1
NEXT J, I
FOR I = 1 TO 7: PRINT " "; B(I);
IF B(I) >= MAX THEN MAX = B(I)
NEXT I: PRINT
FOR I = MAX TO 1 STEP -1: FOR J = 1 TO 7
IF B(J) >= I THEN PRINT " ***";  ELSE PRINT "    ";
NEXT J: PRINT
NEXT I: PRINT "  ";
FOR I = 1 TO 7
PRINT USING "\  \"; CHR$(64 + I);
NEXT I
END

板凳

CLS
INPUT N$
FOR I = 1 TO 7: A$ = CHR$(64 + I)
FOR J = 1 TO LEN(N$)
IF A$ = MID$(N$, J, 1) THEN B(I) = B(I) + 1
NEXT J, I
FOR I = 1 TO 7: PRINT " "; B(I);
IF B(I) >= MAX THEN MAX = B(I)
NEXT I: PRINT
FOR I = MAX TO 1 STEP -1: FOR J = 1 TO 7
IF B(J) >= I THEN PRINT " ***";  ELSE PRINT "    ";
NEXT J: PRINT
NEXT I: PRINT "  ";
FOR I = 1 TO 7
PRINT USING "\  \"; CHR$(64 + I);
NEXT I
END

3 楼

CLS
INPUT n$
FOR i = 1 TO LEN(n$)
  a$ = MID$(n$, i, 1)
  FOR j = 1 TO 7
    IF a$ = CHR$(64 + j) THEN a(j) = a(j) + 1
  NEXT j
NEXT i
FOR i = 1 TO 7
  IF max < a(i) THEN max = a(i)
  PRINT a(i); "  ";
NEXT i: PRINT
FOR i = 1 TO max
  FOR j = 1 TO 7
    IF i <= a(j) THEN PRINT "***  ";  ELSE PRINT "     ";
  NEXT j: PRINT
NEXT i: PRINT " ";
FOR i = 1 TO 7: PRINT CHR$(64 + i); "    "; : NEXT i
END

4 楼

CLS
INPUT N$
FOR I = 1 TO 7: A$ = CHR$(64 + I)
FOR J = 1 TO LEN(N$)
IF A$ = MID$(N$, J, 1) THEN B(I) = B(I) + 1
NEXT J, I
FOR I = 1 TO 7: PRINT " "; B(I);
IF B(I) >= MAX THEN MAX = B(I)
NEXT I: PRINT
FOR I = MAX TO 1 STEP -1: FOR J = 1 TO 7
IF B(J) >= I THEN PRINT " ***";  ELSE PRINT "    ";
NEXT J: PRINT
NEXT I: PRINT "  ";
FOR I = 1 TO 7
PRINT USING "\  \"; CHR$(64 + I);
NEXT I
END

我来回复

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