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ự đó

2 câu trả lời

program Hello;
uses crt;
var s: string;
    k: char;
    i: integer;
    a: array[32..126] of integer;
begin
    write('Nhap xau: '); readln(s);
    write('a/ Nhap ky tu: '); readln(k);
    for i:= 1 to length(s) do 
        a[ord(s[i])]:= a[ord(s[i])] + 1;
    
    writeln('a/ ', k, ' xuat hien: ', a[ord(k)]);
    
    writeln('b/ ');
    for i:= 36 to 126 do 
        if a[i] > 0 then writeln(chr(i), ' xuat hien: ', a[i], ' lan');
readln;
end.

uses crt;

var s : string;

i, d, d1, d2, d3 : byte; kt, j, l, m : char;

begin

clrscr; d := 0; d3 := 0;

write('Nhap xau : '); readln(s);

write('Nhap ki tu : '); readln(kt);

for i := 1 to length(s) do

if s[i] = kt then d := d + 1;

write('Ki tu ', kt ,' xuat hien ', d ,' lan');

for j in['a' .. 'z'] do begin d1 := 0;

for i := 1 to length(s) do begin

if s[i] = j then begin d1 := d1 + 1; d3 := d3 + 1; end;

end;

if d1 <> 0 then writeln('Ki tu ', j , ' xuat hien ', d1 ,' lan');

end;

for l in['A' .. 'Z'] do begin d1 := 0;

for i := 1 to length(s) do begin

if s[i] = l then begin d1 := d1 + 1; d3 := d3 + 1; end;

end;

if d1 <> 0 then writeln('Ki tu ', l , ' xuat hien ', d1 ,' lan');end;

for m in['0' .. '9'] do begin d1 := 0;

for i := 1 to length(s) do begin

if s[i] = m then begin d1 := d1 + 1; d3 := d3 + 1; end;

end; if d1 <> 0 then writeln('Ki tu ', m , ' xuat hien ', d1 ,' lan');

end; d2 := 0;

for i := 1 to length(s) do if s[i] = ' ' then d2 := d2 + 1;

if length(s) <> d3 + d2 then

writeln('Cac ki tu dac biet xuat hien ', length(s) - d3 - d2 ,' lan');

readln

end.

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