不是VIP会员,不能显示答案

题目解答

题目:
输入一长度不超过80个字符的字符串(称为源串),该字符串由小写英文字母、空格组成,并以'.'结束。单词是由连续字母组成,两个单词之间至少有一个空格。本程序的功能为:首先找出字符串中所有单词并保留一个空格作为单词分隔,存入数组ch中。然后用键盘输入一个待查找的单词,以字符'$'结束。采用顺序查找的方法在ch中进行查找,若找到,则输出该单词在ch中出现的序号(若有多个位置出现该单词,则只输出第一个序号位置)。若不存在,则输出'NOT FOUND'。
程序如下:(14%)
     PROGRAM EXP1;
     VAR
        A,B,CH  : ARRAY[1..80] OF  CHAR;
        I,J,K,N,M : INTEGER;
     BEGIN
       N := 0;
     REPEAT
        _____ n:=n+1_____;    READ(A[N]);                                1%
    UNTIL  A[N]='.';
     READLN;
     K := 0;
     FOR  I := 1 TO N DO
        IF (A[I]>='a')AND(A[I]<='z') THEN
         BEGIN
                 K := K + 1;   
                 _______ch[k]:=a[i]________;                                    2%
         END
         ELSE IF K <> 0  THEN  IF  CH[K]<>'□'  THEN  {□表示一个空格,以下同}
                 BEGIN
        K := K + 1;
        CH[K] := '□'
                 END;
       M := 0________n:=k________;                                          2%
     REPEAT
       M := M + 1;  READ(B[M]);
     UNTIL  ______b[m]:='$'_________;                                           2%
      I := 1; J := 1; K := 1; B[M]:='□';
     WHILE  (I<=N)AND(J<=M) DO
        BEGIN
        IF ________ch[i]=b[j]________  THEN  BEGIN   I := I + 1; J := J + 1 END    3%
                                  ELSE BEGIN
          WHILE  CH[I] <> '□' DO ___i:=i+1___;  2%
                 I := I + 1; J := 1; K := K +1
                                     END
        END;
       IF _____j>m-1________  THEN WRITELN(K:4)                             2%
                                  ELSE WRITELN('NOT FOUND')
    END.
考点:
分析:
解答:
评论:
老师: