YOMEDIA
NONE

Viết chương tình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái tiêng Anh trong S (không phân biệt chữ hoa hay chữ thường).

Theo dõi Vi phạm
ATNETWORK

Trả lời (1)

  • Phân tích:

    Ta sẽ tạo một mảng gồm 26 kí tự để lưu trữ số lần xuất hiện của các chữ cái trong bảng chữ cái tiếng Anh. Phần từ đầu tiên sẽ lưu số lần xuất hiện của kí tự ‘A’ (do đề bài yêu cầu không phân biệt chữ thường với chữ hoa). Để lấy vị trí mảng của một kí tự nào đó ta dùng câu lệnh:

    ord(upcase(a[i]))-ord(‘A’)

    ord sẽ lấy giá trị tương ứng của kí tự trong bảng mã ASCII sau đó trừ đi giá trị của ‘A’ trong bảng ASCII .

    Ví dụ :

    Mã ASCII của ‘A’ là 65 thì vị trí trong mảng của nó là 65-65 =0

    Mã ASCII của ‘A’ là 66 thì vị trí trong mảng của nó là 66-65 =1

    program vd2;

    uses crt;

    var

                 a:string;

                 gt:array[0..26] of integer;

                 i:integer;

    begin

                 clrscr;

                 write(‘nhap xau:’);

                 readln(a);

                 for i:=0 to 25 do

                 gt[i]:=0;

                 for i:=1 to length(a) do

                 begin

                 gt[ord(upcase(a[i]))-ord(‘A’)]:=gt[ord(upcase(a[i]))-ord(‘A’)]+1;

                 end;

                 for i:=0 to 25 do

                 if gt[i]>0 then

                writeln(chr(ord(‘A’)+i),’:’,gt[i]);

                readkey;

    end.

      bởi Nguyen Dat 22/11/2021
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
ATNETWORK
ON