嘗試這樣:
function HasThreeConsecutiveLetters(const Str: string): Boolean;
const
QwertyLetters: array[0..2] of string = (
'QWERTYUIOP',
'ASDFGHJKL',
'ZXCVBNM'
);
var
I, J, K: Integer;
S: String;
begin
Result := False;
S := AnsiUpperCase(Str);
for I := 1 to Length(S) do
begin
for J := Low(QwertyLetters) to High(QwertyLetters) do
begin
K := Pos(S[I], QwertyLetters[J]);
if (K <> 0) and
((K+2) <= Length(QwertyLetters[J])) and
(Copy(S, I, 3) = Copy(QwertyLetters[J], K, 3)) then
begin
Result := True;
Exit;
end;
end;
end;
end;
然後,你可以這樣做:
var
input: string;
begin
input := ...;
if HasThreeConsecutiveLetters(input) then
...
else
...
end;
有前兩天貼在這裏,後來刪除了幾乎相同的Q值。這是你設置的課程任務嗎? – MartynA
其實我試圖擴展我從編碼挑戰小冊子中做的一個程序。它來自這個網站:https://drive.google.com/file/d/0B1pbdiI9H_RiUkl0cXcySUJCOTg/view,並且是任務24 –