Nhập vào bàn phím một xâu thay the
#include }
Khách
Hãy nhập câu hỏi của bạn vào đây Dưới đây là một vài câu hỏi có thể liên quan tới câu hỏi mà bạn gửi lên. Có thể trong đó có câu trả lời mà bạn cần!
Bài 1. Nhập vào từ bàn phím một xâu. Kiểm tra xâu đó có phải là xâu đối xứng hay không. Xâu đôi xứng có tính chất đọc nó từ phải sang trái cũng như từ trái sang phải (còn được gọi là xâu palindrome).Hãy chạy thử chương trình sau:var i, x: byte;a, p: string; beginwrite('Nhap vao xau: ’); readln(a);X:= length(a); {xac dinh do dai xau}p: = ' ', {khoi tao xau rong} for i:= X downto 1 dop:= p+a[i]; {tao xau dao nguoc} if a= p thenwrite('xau la palindrome') elsewrite ( 'xau khong la palindrome' ) ,readlnend.Hãy viết lại chương trình trên, trong đó không cần cỏ biến xâu p. Giải: a) Khi chạy chương trình, nhập vào xâu: ' vui ma hoc hoc ma vui' thì chương trình đưa ra thông báo: "xau khong la palindrome", còn khi nhập vào xâu 'abcddcba' thì chương trình đưa ra thông báo: "Xâu là palindroine?".Kết quả của chương trình cho như hình 52 dưới đây:Bài 2. 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 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ữ hca hay chữ thường). Giải: Để giải quyết bài toán này, chúng ta nhận thấy rằng:Cần ghi nhận số lần xuất hiện của từng chữ cái. Có tất cả 26 chữ cái ' A ' ' z '. Có thể dùng một mảng với chỉ số là kí tự từ 'A ' đến 'z' để ghi nhận số lần xuất hiện của các kí tự trong xâu s. Bởi vậy, chúng ta dùng một mảng một chiều để đếm số lần xuất hiện của một kí tự trong xâu s. Cụ thể, để ghi nhận sổ lần xuất hiện của kí tự, ta có thể dùng dem[A] để ghi nhận sổ lần xuất hiện kí tự A (hay kí tự a, vì không phân biệt chữ hoa hay chữ thường).Để giải quyết vấn đề không phân biệt chữ hoa hay chữ thường ta cần dùng hàm Upcase(c).Do một kí tự xuất hiện trong xâu s có thể không phải là một chữ cái nên khi duyệt lần lượt từng kí tự trong xâu s, cần kiểm tra xem kí tự đó có phải là chữ cái hay không để ghi nhận số lần xuất hiện của nó. Chúng ta đã gặp đoạn chương trình kiểm tra một kí tự có là chữ số hay không ở ví dụ 5 tiết học 12. Từ đó, có thể viết được đoạn chương trinh làm việc duyệt từng phần tử cùa xâu và đếm.Dàn ý của chương trình:phần khai báobegin{nhập xâu S}N: = length (S);{Khởi tạo cho màng Dem}for i: =1 to N do {Neu s[i] là chữ cái thì đém tăng cho s[1]for c:='A' to Z do {Thông báo sô lần xuất hiện của c}End.Chương trình nhập từ bàn phím một xâu kí tự 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 (không phân biệt chữ hoa hay chữ thường).Program tinh_ki_tu,var s,sl: string;i, j, n: integer;dem: array [ 'A’ . . 'z ’ ] of integer;c: char ;beginwrite(’Nhap vao xau: ');readln(S);n:= length(s);for C:= 'A' to 'Z' do {khoi tao cho mang dem} dem[c]:= 0 ; s 1 : = ’ ' ;readlnEnd.Khi nhập vào lần lượt các xâu: 'đfd'2n5fv' 3m.A' , ' 55B7cfcManu07 ' , ' 8gs9'0A6ha5kQ ' thì chương trình cho các kết quả như hình 56 dưới đây: Bài 3. Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự "anh" bằng cụm từ 'em'. Giải:Đối với bài toán này:Để thay thế tất cả cụm từ "anh" trong một xâu st thành cụm kí tự 'em', có thể làm một cách tự nhiên: Tìm vị trí xâu con 'anh' trong xâu st đã cho, xóa xâu con này đi rồi chèn xâu "em" vào vị trí đó. Lặp đi lặp lại điều này cho đến khi không tìm thấy xâu "anh' cần thay thế trong xâu st nữa. Đẻ giải quyết vấn đề này, chúng ta cần vận dụng các hàm Pos, thủ tục chuẩn Delete, Insert.Dàn ý chương trinh:{phần khai báo}Begin{Nhập xâu S}{Chừng nào còn tìm thấy xâu con ‘anh ' trong xâu st còn làm ba công việc sau: Tìm vị trí bắt đầu cùa xâu 'anh' ;Xóa xâu ' anh' vừa tìm thấy;Chèn xâu ' em' vào xâu s tại vị trí trước đây xuất hiện xâu 'anh' ;{In xau S kết quả}end.Chương trình nhập vào từ bàn phím một xâu, thay thế tất cả các cụm kí tự ‘anh ’ bằng cụm từ ‘em'program thay_the_cum_tu;var vt: byte;St: string;Beginwrite(’Nhap vao mot xau: ');readln(st);while pos ('anh', st)<>0 beginVt : = pos ( ' anh ' , St. : ; delete(St,vt,3);insert('em',St,vt) ; end;write ('Xau sau khi da duoc thay the: ' ,st ,')readlnEnd. Khi nhập vào lần lượt các xâu: 'anh' và 'em' ; 'anh em trong mot nha ' thì chương trình cho các kết quả theo thử tự như sau: 'em va em' ,' em em trong mot nha ' . Kết quả chương trình cho như hình 57 dưới đây:
|