program z1;
var s:string;
i,L,maxL:integer;
begin
readln(s);
L:=0;
maxL:=0;
for i:=0 to length (s) do
if s[i] in ['A','B','E','F'] then
begin
L:=L+1;
if L>maxL then
maxL:=L;
end
else
L:=0;
writeln(maxL);
end.
program z1;
var s:string;
i,L,maxL:integer;
begin
readln(s);
L:=0;
maxL:=0;
for i:=0 to length (s) do
if s[i] in ['A','B','E','F'] then
begin
L:=L+1;
if L>maxL then
maxL:=L;
end
else
L:=0;
writeln(maxL);
end.
Pascal 中的行索引从 1 开始:
错误在于这一行:
为什么会这样:
让有一个字符串“ABV”
她有数字 0(“A”)、1(“B”)、2(“C”)的符号
她的长度是3
也就是说,在循环内部,您尝试访问编号为 3 的符号,并且只有编号 2。因此,
易于修复:
升级版:
我已经很长时间没有直接处理Pascal了,所以,专注于另一个答案,以下解决方案将是正确的: