Bài 1: Cho 1 chuỗi S có độ dài không quá 250 kí tự bao gồm các chữ cái từ “A” đến “z” và các chữ số từ ”0” đến “9”. Yêu cầu: Viết chương trình kiểm xem trong chuỗi S kí tự kiểu số nào xuất hiện nhiều nhất. Trong tường hợp chuỗi có nhiều kí tự xuất hiện nhiều lần như nhau thì in ra kí tự đầu tiên tìm thấy. Nếu trong chuỗi không có kí tự kiểu số thì in ra -1 Ví dụ: Cho chuỗi S=”a2hgj4549AD” kí tự số xuất hiện nhiều nhất là số 4 S=”A1212cb12” kí tự kiểu số xuất hiện nhiều lần nhất là số 1 S=”ASDFGH” in ra -1 Input: Cho trong tệp BAI1.INP là một dòng duy nhất là chuỗi S có độ dài L ≤250 Output: Ghi ra tệp BAI1.OUT là một kí tự xuất hiện trong chuỗi S nhiều nhất Viết trong pascal nha mn

1 câu trả lời

Phần khai báo biến, tệp, đọc tệp, viết tệp thì bạn tự khai báo nhé.

//hàm kiểm tra ký tự đó có phải là số

function isNum(s: char):boolean;

    var n,in: byte;

         

    begin

        val(s,n,in);

        if in<>0 then isNum:=false else isNum:=true;

        

    end;

// chương trình chính

begin

    //đọc tệp.....

    //sắp xếp chuỗi

    for i:=1 to length(s) do

        for j:=1 to length(s) do

           if s[i]>s[j] then

            begin

                s[i]=tmp;

                s[i]=s[j];

                s[j]=tmp;

             end;

     //đếm ký tự:

     for i:=1 to length(s) do

         begin

              if isNum(s[i])=true then

              begin

                   result:=s[i];

                   if s[i] = s[i+1] then dem=dem+1;

                   if s[i] <> s[i+1] then

                     begin

                            t:=t+1;

                            n[t]=dem;

                            dem=0;

                            r[t]=s[i];

                      end;

              end;

         end;

end.

nếu có gì thắc mắc thì liên hệ khanh30125@gmail.com mình sẽ giải thích cụ thể cho nhé...

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