Băi 1: Viết chương trình nhập chuỗi S + Cắt bỏ khoảng trắng vơ nghĩa.
+ Đổi câc kí tự trong chuổi thănh chữ hoa.
+ Viết lại câc kí tự trong chuổi theo thứ tự ngược lại.
Program doihoa; uses crt; var s,st: string; i: integer; Begin clrscr;
Write('Nhap chuoi S: '); Readln(s);
While pos(' ',s)<>0 do Delete(s,Pos(' ',s),1); While s[1]=' ' do Delete(s,1,1);
While s[length(s)]=' ' do Delete(s,length(s),1); Writeln(s);
st:='' ;
For i:=1 to length(s) do st:=st+Upcase(s[i]); Write(st);
st:='' ;
For i:=length(s) downto 1 do st:=st+s[i]; Write(st);
Readln; End.
Băi 2: Viết chương trình nhập chuỗi S (gồm số vă chữ câi). Xĩa bỏ câc kí tự chữ, chỉ giữ lại kí tự lă số.
Program chuoiso; uses crt; var s,st: string; i: integer; Begin clrscr;
Write('Nhap chuoi S: '); Readln(s); st:='' ;
For i:= 1 to length(s) do
if s[i] in ['0'..'9'] then st:=st+s[i]; Write(st);
Readln; End.
Băi 3: Viết chương trình đếm số lần xuất hiện của từng loại ký
tự chứa trong một chuỗi.
Khơng phđn biệt hoa thường
Program thongke; uses crt; var s: string; ch:char; i,d: integer; Begin clrscr;
Write('Nhap chuoi S: '); Readln(s); For ch:= 'A' to 'Z' do
Begin d:=0;
For i:=1 to length(s) do if ch=Upcase(s[i]) then d:=d+1; If d<>0 then Writeln(ch,' xuat hien ',d,' lan.');
End; Readln;
End.
Phđn biệt hoa thường
program CT; uses crt; var i,n,d:integer; s:string; a:char; begin clrscr;
write('nhap chuoi: ');readln(s); for a:='A' to 'z' do
begin d:=0;
for i:=1 to length(s) do if s[i] = a then d:=d+1;
if d<>0 then writeln(a,' xuat hien ',d,' lan trong chuoi');
end; readln;
end.
Băi 4: Viết chương trình nhập chuỗi s1 vă s2. Kiểm tra chuổi s1 xuất hiện mấy lần trong s2.
Program s1_trong_s2; uses crt; var s1,s2: string; d: integer; Begin clrscr;
Write('Nhap chuoi s1: '); Readln(s1); Write('Nhap chuoi s2: '); Readln(s2); d:=0; While pos(s1,s2)<>0 do Begin d:=d+1; Delete(s2,pos(s1,s2),length(s1)); End;
Writeln(s1,' xuat hien ',d,' lan trong chuoi.'); Readln;
End.
Băi 5: Viết chương trình nhập chuỗi S. kiểm tra xem đĩ cĩ phải lă chuổi đối xứng khơng. (Ví dụ về chuổi đối xứng 123321, acthnhtca)
Program doixung; uses crt; var s: string; kt: Boolean; i: integer; Begin clrscr;
Write('Nhap chuoi s: '); Readln(s); kt:=true;
For i:=1 to length(s) do if s[i]<>s[length(s)-i+1] then kt:=False; If kt=true then writeln('Day la chuoi doi xung.')
else Writeln('Day khong la chuoi doi xung.'); Readln;
End.
Băi 6: Viết chương trình nhập chuỗi S. Hiện ra măn hình câc từ viết theo thứ tự ngược lại.
Program doihoa; uses crt;
var s: string; i,j: integer;
a: array[1..20] of string; Begin
clrscr;
Write('Nhap chuoi s: '); Readln(s); i:=1; j:=1; While i <= length(s)+1 do begin a[j]:=a[j]+s[i]; if s[i]=' ' then j:=j+1; i:=i+1; end;
For i:=j downto 1 do Write(a[i]); Readln;
End.
Băi 7: Viết chương trình nhập chuỗi S. Tìm từ dăi nhất vă cho biết vị trí của nĩ trong chuổi S
Program tudai; uses crt; var s: string; i,j,vt,max: integer; a: array[1..20] of string; Begin clrscr;
Write('Nhap chuoi s: '); Readln(s); i:=1; j:=1; While i <= length(s)+1 do begin a[j]:=a[j]+s[i]; if s[i]=' ' then j:=j+1; i:=i+1; end; max:=length(a[1]); for i:=1 to j do if max<length(a[i]) then begin max:=length(a[i]); vt:=i; end;
Write('Tu dai nhat co ',max-1,' ki tu, la tu thu ',vt); Readln;
End.
Cđu 8: Viết chương trình cho phĩp nhập văo một xđu kí tự s , một xđu x vă một xđu s1. Hêy tìm vă thay thế x cho s1 cĩ trong xđu.
Ví dụ:
S: truong thcs luong tam thuoc xa luong tam. X: xa phien
S1: luong tam
Kết quả: truong thcs xa phien thuoc xa xa phien
program CT; uses crt; var s,x,s1:string; kt:boolean; vt:integer; begin
clrscr;
write('nhap mot chuoi: ');readln(s);
write('nhap mot tu can chen: ');readln(x); write('nhap mot tu can xoa: ');readln(s1); while pos(s1,s) <> 0 do begin vt:=pos(s1,s); delete(s,pos(s1,s),length(s1)); insert(x,s,vt); end; write(s); readln; end.
Cđu 9: Viết chương trình cho phĩp nhập văo một xđu kí tự S , một kí tự x . Cho biết kí tự x xuất hiện mấy lần trong S. program CT; uses crt; var d,i:integer; s,x:string; begin clrscr;
write('nhap vao mot chuoi: ');readln(s); write('nhap vao mot ki tu: ');readln(x); d:=0;
for i:=1 to length(s) do if s[i] = x then d:=d+1;
write(x,' xuat hien ',d,' lan trong chuoi s'); readln;
end.
Băi 10: Viết chương trình nhập chuỗi S + Cắt bỏ khoảng trắng vơ nghĩa.
+ Đỏi chữ hoa đầu từ (Kí tự đầu lă hoa, câc kí tự sau lă thường). + Viết lại câc từ trong chuổi theo thứ tự ngược lại.
+ Từ dăi nhất trong chuổi trín cĩ mấy kí tự. Tìm câc từ đĩ vă cho biết vị trí của nĩ..
program CT; uses crt; var s:string; i,j,g,h,max:integer; a:array[1..100] of string; begin clrscr;
write('moi nhap ho ten cua mot nguoi: ');readln(s); while pos(' ',s) <> 0 do delete(s,pos(' ',s),1); while s[1] = ' ' do delete(s,1,1);
while s[length(s)] = ' ' do delete(s,length(s),1); for i:=1 to length(s) do if s[i] in ['A'..'Z'] then s[i]:=chr(ord(s[i])+32);
s[1]:=upcase(s[1]);
for i:=1 to length(s)do if s[i]=' 'then s[i+1]:=upcase(s[i+1]);
writeln('Chuoi da doi thanh chu hoa dau tu l: ', s); i:=1;j:=1;
while i <= length(s)+1 do begin
if s[i]<>' ' then a[j]:=a[j]+s[i] else j:=j+1; i:=i+1;
Writeln('Cac tu duoc viet nguoc lai la: '); for i:=j downto 1 do write(a[i], ' ');
max:=length(a[1]);
for i:=1 to j do if max<length(a[i]) then max:=length(a[i]); writeln('Tu dai nhat co ',max,' ki tu');
writeln('Tu dai nhat la: ');
for i:=1 to j do if max=length(a[i]) then writeln(a[i],'o vi tri thu ',i);
readln; end.