Nhập vào một câu nói (mỗi từ cách nhau một khoảng trắng, không có dấu phẩy, chấm), hãy tách từng từ trong chuỗi ra rồi in. Mỗi từ in kèm với độ dài của từ đó
2 câu trả lời
uses crt;
var s: ansistring;
var cnt, i: longint;
begin
clrscr;
readln(s);
for i:=1 to length(s) do begin
if s[i] <> #32 then begin
write(s[i]);
inc(cnt);
end else begin
if cnt > 0 then writeln(' ', cnt);
cnt:=0;
end;
end;
if cnt > 0 then writeln(' ', cnt);
readln;
end.
Mình sẽ lưu từng từ trong mảng sau đó sẽ dùng length(mang[i]) để xuất độ dài của từ đó
Code:
Program tachtu;
Uses crt;
VAR tu:array[1..100] of string;
i,j:longint;
s:string;
BEGIN
clrscr;
Readln(s);
//Xoa cach thua (neu xau ko thua dau cach thi bo)
While (s[1]=' ') do delete(s,1,1);
While (s[length(s)]=' ') do delete(s,length(s),1);
While (pos(' ',s) > 0) do delete(s,pos(' ',s),1);
//Xu ly
j:=1;
For i := 1 to length(s) do
begin
if s[i] in ['A'..'Z'] + ['a'..'z']+['0'..'9'] then tu[j] := tu[j]+ s[i];
if s[i] = ' ' then inc(j);
end;For i := 1 to j do
begin
writeln(tu[i],' : ',length(tu[i]));
end;
readln;
END.