1

请。帮助我确定给定文本中有多少个大小写字母“s”和符号“=”。打印缺少这些字符的行。

如何实现验证文本以及如何识别没有此类标记的行

帮助程序。我会很感激!

我现在的程序。接下来做什么,

program four;

var
  i : integer;
  MyString : string;
  MyChar : char;
begin
  read( MyString );

  for i := 1 to MyString.Length do
    begin      
      case ( MyString[i] ) of
      'S' : writeln( i );
      's' : writeln( i );
      '=' : writeln( i );
    end;  

  end;
end.
4

1 回答 1

1

你需要实现计数器来跟踪你是否找到了任何字符,这样你就知道该怎么做了。

这样的事情应该让你开始:

program four;

var
  i : integer;
  LowerS, UpperS, Equals: Integer;
  MyString : string;
begin
  LowerS := 0;
  UpperS := 0;
  Equals := 0;

  Write('Enter text to scan: ');
  ReadLn( MyString );

  for i := 1 to Length(MyString) do
  begin      
    case ( MyString[i] ) of
      'S' : Inc(UpperS); 
      's' : Inc(LowerS); 
      '=' : Inc(Equals);
    end;  
  end;
  if (UpperS + LowerS + Equals) = 0 then
    WriteLn('No valid characters found')
  else
    WriteLn(Format('S: %d s: %d =: %d', [UpperS, LowerS, Equals]));
  ReadLn;
end.
于 2014-03-20T17:49:43.747 回答