Viết chương trình nhập vào xâu S từ bàn phím Thực hiện các yêu cầu sau: + Kiểm tra xâu S có phải là xâu palindrom? + Đếm số ký tự số có trong xâu S. + Xuất ra xâu S2 là xâu S sau khi xóa các dấu cách (Trong đó xâu palindrom là xâu đảo ngược của nó bằng chính nó)
2 câu trả lời
uses crt;
var S, S1 : string; d, i : byte;
begin
clrscr;
write('Nhap xau S : '); readln(S);
d := 0;
for i := length(S) downto 1 do
begin
if S[i] in ['0' .. '9'] then d := d + 1;
S1 := S1 + S[i];
end;
if S = S1 then writeln('Xau S la xau palindrom')
else writeln('Xau S khong la xau palindrom');
writeln('Xau S co ', d ,' ki tu la chu so');
i := 1;
while i <= length(S) do
if S[i] = ' ' then begin delete(S, i, 1); i := i; end else i := i + 1;
write('Xau S2 : ', S);
readln
end.
program baigiai;
uses crt;
var S:string;
function palind(st:string):boolean;
var i:byte;
s2:string;
begin
s2:='';
for i:=length(st) downto 1 do
s2:=s2+st[i];
if s2=st then palind:=true else palind:=false;
end;
function dem(st:string):integer;
var i:byte;
begin
dem:=0;
for i:=1 to length(st) do
if st[i] in ['0'..'9'] then dem:=dem+1;
end;
function xoa(st:string):string;
begin
xoa:=st;
while pos(' ',xoa)<>0 do delete(xoa,pos(' ',xoa),1);
end;
BEGIN
clrscr;
write('Nhap xau: '); readln(s);
if palind(s) then writeln('Xau S la xau palindrom')
else writeln('Xau S khong la xau palindrom');
writeln('Co ',dem(s),' ki tu so trong xau S');
writeln('Xau S2 la: ',xoa(s));
readln
end.