Viết chương trình nhập vào xâu S, in ra màn hình các từ đảo ngược của xâu S Ví dụ Input: S=abc def Output: cba fed

2 câu trả lời

uses crt;
var s,st:string;
begin
    clrscr;
    readln(s);
    s:=s+' ';
    st:='';
    while pos(' ',s)<>0 do
       begin
           st:=copy(s,1,pos(' ',s))+st;
           delete(s,1,pos(' ',s));
       end;
    writeln(st);
readln;
end.

Cách 1:

program Hello;
uses crt;
var s,tg,kq:string;
    i:integer;
begin
  clrscr;
  write('nhap s: ');
  readln(s);
  for i:=length(s) downto 1 do (chạy theo chiều nghịch)
    begin
        if s[i] <> ' ' then
            tg:=s[i]+tg;
        if (s[i]=' ') or (i=1) then
            begin
                kq:=kq+tg+' ';
                tg:='';
            end;
    end;
    Writeln(kq);
end.

Cách 2:

program Hello;
uses crt;
var s,tg,kq:string;
    i:integer;
begin
    clrscr;
  write('nhap s: ');
  readln(s);
  for i:=1 to length(s) do (chạy theo chiều thuận)
    begin
        if s[i] <> ' ' then
            tg:=tg+s[i];
        if (s[i]=' ') or (i=length(s)) then
            begin
                kq:=' '+tg+kq;
                tg:='';
            end;
    end;
    Writeln(kq);
end.

s[i]: truy cập vào từng ký tự trong chuỗi theo chỉ số (như mảng).

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