パスカルのプロシージャを使用して、フレーズ(%や$などの特殊文字を含む)を単語に分割するプログラムを作成する必要があります。
だから私が入ると:
This is a valid word: 12$%ab
プログラムは私を返さなければなりません:
This
is
a
valid
word:
12$#ab
スペースがなければ、上下に。
配列を使用できず、プロシージャを「呼び出す」変数は文字列である必要があります。
前もって感謝します!
これが私のコードです:
program words;
uses crt;
var
phrase :string;
word:string;
letter :char;
x :integer;
begin
clrscr;
phrase:='';
word:='';
x:=1;
repeat
write('type a phrase: ');
readln(phrase);
until phrase<>'';
while x<=length(phrase) do
begin
letter:=phrase[x];
case letter of
'a'..'z','A'..'Z':
begin
word:=word+letter;
repeat
x:=x+1;
letter:=phrase[x];
word:=word+letter;
until (letter=' ') or (x=length(phrase));
writeln(word);
word:='';
end;
end;
x:=x+1;
end;
writeln;
readkey;
end.