XĐU KÍ TỰ (CHUỔI)

Một phần của tài liệu Giáo trình bồi dưỡng học sinh giỏi môn tin học THCS (Trang 52 - 57)

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.

Một phần của tài liệu Giáo trình bồi dưỡng học sinh giỏi môn tin học THCS (Trang 52 - 57)

Tải bản đầy đủ (PDF)

(65 trang)