Trang chủ Tin Học Lớp 11 Viết chương trình nhập từ bàn phím một xâu kí...

Viết chương trì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: 1. Số lần xuất hiện của mỗi chữ cái tiếng Anh trong xâu S (không phân biệt chữ hoa

Câu hỏi :

Viết chương trì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: 1. Số lần xuất hiện của mỗi chữ cái tiếng Anh trong xâu S (không phân biệt chữ hoa, chữ thường). 2. Đếm số kí tự không là chữ số trong xâu S. 3. Đưa ra màn hình kết quả kiểm tra xâu S có là xâu đối xứng hay không. Cho em hỏi câu này với ạ

image

Lời giải 1 :

Program FNG;
Uses crt;
Var S: String;
    dem: array['A'..'Z'] of byte;
    d,i: longint;
    k: char;

Function doixung(St: String): boolean;
Var i: longint;
Begin
        For i:=1 to length(St) div 2 do
                If St[i]<>St[length(St)-i+1] then exit(false);
        exit(true);
End;

Begin
        Clrscr;
        Write('Nhap S: '); Readln(S);
        For i:=1 to length(S) do
                S[i]:=Upcase(S[i]);
        For k:='A' to 'Z' do
                dem[k]:=0;

        For i:=1 to length(S) do
                If S[i] in ['A'..'Z'] then inc(dem[S[i]]);
        Writeln('Cau 1: ');
        For k:='A' to 'Z' do
                If dem[k]<>0 then Writeln(k,': ',dem[k]);

        For i:=1 to length(S) do
                If S[i] in ['0'..'9'] then inc(d);
        Writeln('Cau 2: ',d);
        If doixung(S) then Write('Cau 3: Doi xung')
        Else Write('Cau 3: Khong doi xung');
        Readln
End.

Thảo luận

-- Wow xác thực

Lời giải 2 :

uses crt;
var s:string; //xau S
i:byte; //bien chay tu dau toi cuoi xau S
c:char; //bien chay tu 'A' den 'Z'
a:array[#0..#255] of byte; //mang su dung phan tu la ky tu ASCII
n:byte; //dem so ky tu khong phai chu so
kt:boolean; //kiem tra doi xung
begin
 clrscr;
 write('nhap xau S:'); readln(s);
 for i:=1 to length(s) do
 begin
  if((s[i]>='a') and (s[i]<='z')) or ((s[i]>='A') and (s[i]<='Z')) then inc(a[upcase(s[i])]);
  //neu no nam trong khoang tu 'a' toi 'z' hoac tu 'A' toi 'Z' thi minh se +1 vao phan tu trong mang
  if not (s[i] in ['0'..'9']) then inc(n); //neu no khong nam trong khoang '0' den '9' thi ta +1 vao bien n
 end;
 writeln('so lan xuat hien cua cac chu cai tieng Anh:');
 for c:='A' to 'Z' do if(a[c]<>0) then writeln(c,' xuat hien ',a[c],' lan');
 writeln('co ',n,' ky tu khong la chu so trong xau S');
 kt:=true; //neu true sau khi thuc hien vong for thi la xau doi xung va nguoc lai, neu false thi khong doi xung
 for i:=1 to length(s) div 2 do //minh chi can kiem tra xem 2 ben co bang nhau khong
 if(s[i]<>s[length(s)-i+1]) then begin kt:=false; break; end;
 if(kt=true) then writeln('xau S la xau doi xung')
 else writeln('xau S khong la xau doi xung');
 readln;
end.

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 11

Lớp 11 - Năm thứ hai ở cấp trung học phổ thông, gần đến năm cuối cấp nên học tập là nhiệm vụ quan trọng nhất. Nghe nhiều đến định hướng sau này rồi học đại học. Ôi nhiều lúc thật là sợ, hoang mang nhưng các em hãy tự tin và tìm dần điều mà mình muốn là trong tương lai nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247