nhập một chuỗi st gồm nhiều từ. Gỉa thiết st có không quá 20 từ, mỗi từ dài không quá 10 kí tự. Xây dựng một mảng A chứa các từ của st, với a[i] chứa từ thứ i của st. sắp xếp và in các từ của mảng A theo trật tự giảm của độ dài từ. VD: cho st=' Thanh pho Da Nang' thì: A[1]= 'Thanh', A[2]='pho', A[3]='Da', A[4]='Nang'. In ra: Thanh Nang pho Da AI GIÚP EM VỚI CẦN GẤP

1 câu trả lời

uses crt;
var a:array[0..100000] of ansistring;
    s,tam:ansistring;
    x,d,i,j:longint;
begin
clrscr; 
readln(s);
s := s + #32;
while length(s) <> 0 do
 begin
  x := pos(#32,s);
  inc(d);
  a[d] := copy(s,1,x-1);
  delete(s,1,x);
 end;
for i := 1 to d - 1 do
 for j := i + 1 to d do
  if length(a[i])<length(a[j]) then
   begin
     tam := a[i];
     a[i] := a[j];
     a[j] := tam;
   end;
for i := 1 to d do write(a[i],#32);
readln;
end.

Câu hỏi trong lớp Xem thêm