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é...