Bài Tập Xâu Ký Tự Trong Pascal - Tài Liệu Text - 123doc

Tải bản đầy đủ (.doc) (7 trang)
  1. Trang chủ
  2. >>
  3. Giáo án - Bài giảng
  4. >>
  5. Tin học
Bài tập xâu ký tự trong pascal

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (47.01 KB, 7 trang )

Bài 1: Nhập xâu kí tự bất kìa) Đếm số lần xuất hiện của 1 kí tự nào đó trong câu.b) Liệt kê các kí tự có mặt trong xâu cùng số lần xuất hiện của các kí tự đó.Bài giải:uses crt;var str:string[100];chu:array[#1..#254] of integer;i:integer;ch:char;beginclrscr;for ch:=#1 to #254 do chu[ch]:=0;write(' Nhap chuoi = ');readln(str);for i:=1 to length(str) do(chu[upcase(str[i])]):=chu[upcase(str[i])] +1;writeLn('Cac ki tu trong xau la:');for ch:=#1 to #254 doif chu[ch]>0 then writeln(ch, ': xuat hien ',chu[ch],' lan');readln;end.Bài 2: Nhập 1 xâu kí tự.a) Xét xem trong xâu có K kí tự kề nhau mà như nhau hay khơng?b) Hãy xóa đi kí tự kề nhau mà như nhau, chỉ giữ lại một.Bài giải:uses crt;var ch:string[100];i,k,d,d1,n:integer;(*****)function xoa:boolean;var i:integer;beginxoa:=false;for i:=1 to length(ch)-1 doif ch[i]=ch[i+1] thenbegindelete(ch,i,1);xoa:=true;exitend;end;(*****)beginclrscr;write('Nhap chuoi :');readln(ch);write('Nhap ki tu K:');readln(k);n:=length(ch);d:=0;d1:=0;for i:=1 to n-1 dobeginif ch[i]=ch[i+1] then inc(d1)else d1:=0;if d1+1>=k then inc(d);end;if d>0 then writeln('Co ',k,' ki tu nhu nhau')else writeln('Khong co ',k,' ki tu nhu nhau');while xoa do;write('In lai xau sau khi xoa:');writeln(ch);readln;end.Bài 3: Nhập 1 xâu kí tự. Kiểm tra tính đối xứng của xâu đó. Nếu xâu khơng đối xứng thì đảo xâu.Bài giải:uses crt;var str,s:string[100];n,i:integer;(*****)procedure sx(var a,b:char);var tam:char;begin tam:=a;a:=b;b:=tam;end;procedure dao(n,i:integer);var j:integer;beginfor j:=i+1 to n doif str[i]=str[j] thenbeginsx(str[j],str[n-i+1]);exitend;end;(*****)beginclrscr;write('Nhap xau:');readln(str);n:=length(str);s:='';for i:=n downto 1 do s:=s+str[i];if str=s then writeln('Chuoi doi xung:')elsebeginwriteln('Chuoi ko doi xung, chuoi da dao doi xung:');for i:=1 to n-1 dodao(n,i);end;writeln(str);readln;end.Bài 4: Cho 1 xâu kí tự. Tính xem trong số đó có bao nhiêu loại kí tự khác nhau ( không phân biệt in hoa hay inthường).Bài giải:uses crt;var s:string;i,j,dem:integer;t:boolean;beginclrscr;write('Nhap xau:');readln(s);dem:=0;for i:=1 to length(s) dobegint:=false;for j:=1 to i-1 doif((s[j])=(s[i])) then t:=true;if not(t) then inc(dem);end;write('Co ',dem,' ki tu khac nhau.');readln;end.Bài 5: Cho 1 xâu kí tự bất kì, tính:a) Số lượng các kí tự số.b) Số lượng các kí tự chữ cái.Bài giải:uses crt;const so: set of char=['0','1','2','3','4','5','6','7','8','9'];var st,b:string;a:array[1..100] of integer;i,j,l,n,dem,dem1,c:integer;(*****)procedure sx(var x,y:integer);var tam:integer;begintam:=x;x:=y;y:=tam;end;(*****) beginclrscr;write('nhap xau:');readln(st);dem:=0;dem1:=0;for i:=1 to length(st) dobeginif (st[i] in['0'..'9']) then inc(dem);if (upcase(st[i]) in['A'..'Z']) then inc(dem1);end;write('Co ',dem1,' chu cai.');writeln;writeln('Co ',dem,' chu so.');l:=length(st); i:=1; n:=0;repeatif (st[i] in so) thenbeginb:='';repeatb:=b+st[i];inc(i);until (not(st[i] in so)) or (i>l);inc(n);val(b,a[n],c);end;inc(i);until i>l;for i:=1 to n do write(a[i]:5);writeln;writeln('Sx tang:');for i:=1 to n-1 dofor j:=i to n doif a[j]l);inc(n);val(b,a[n],c);end;inc(i);until i>l;for i:=1 to n do write(a[i]:5); writeln;write('Sx tang:');writeln;for i:=1 to n-1 dofor j:=i to n doif a[j] length(hs[j]) then sx(hs[i],hs[j]);writeln('Sx theo do dai ten:');for i:=1 to n do writeln(hs[i]);readln;end.Bài 11: Nhập vào họ tên bất kì sau đó biến đổi các chữ cái đầu tiên là in hoa.Bài giải:uses crt;const chu=['a'..'z'];var hoten:string;i,k:integer;beginclrscr;write('Nhap ho ten:');readln(hoten);k:=length(hoten);if hoten[1] in chu then hoten[1]:=upcase(hoten[1]);for i:=2 to k doif (hoten[i-1]=#32) and (hoten[i] in chu) thenhoten[i]:=upcase(hoten[i]);write('sau khi bien doi:',hoten);readln;end.Bài 12: Nhập vào 1 đoạn văn. Tính số câu.Bài giải:uses crt;var s:string;i,d:integer;beginclrscr;write('Nhap 1 doan:');readln(s);for i:=1 to length(s) doif s[i]='.' then inc(d);write('Doan tren co ',d,' cau.');readln;end.Bài 13: Nhập vào 1 số, xóa bỏ các chữ số lẻ. Xuất kết quả dưới dạng đối xứng của phần còn lại.Vd:1 2 4 5 6 --> 2 4 6 6 4 2Bài giải:uses crt;const so=['1','3','5','7','9'];var s:string;i:integer;beginclrscr;write('Nhap 1 day so:');readln(s);i:=1;while i

Từ khóa » Xét Xem Trong Xâu Có K Kí Tự Kề Nhau Mà Như Nhau Hay Không