trong bảng mã ASCII, 26 kí tự chữ cái thường từ a đến z được mã hóa tương ứng bằng các số tự nhiên từ 97 đến 122. Cho một xâu kí tự S chỉ chứa toàn các kí tự chữ cái thường. Ta gọi P là xâu mã hóa tương ứng của xâu S bằng cách mã hóa từng ký tự trong S (theo bảng mã ASCII) và viết liên tiếp nhau. Ví dụ: S = ab thì P = 9798. Hãy viết chương trình nhập vào từ bàn phím một xâu đã mã hóa P (có không quá 255 kí tự) và in ra màn hình xâu kí tự S là xâu gốc. Input Specification Chứa một xâu đã mã hóa P. Output Specification In ra màn hình xâu kí tự S. Sample Input 979899 Sample Output abc code bằng c++

1 câu trả lời

uses crt;
var s,t:string; n,i,a,e:longint;
begin
clrscr;
   writeln('Input');readln(s);
   writeln('Output');
   n:=length(s);
   repeat
      inc(i,2);
      t:=s[i-1]+s[i];
      if t<'97' then
         begin inc(i); t:=t+s[i]; end;
      val(t,a,e); write(chr(a));
   until i>=n;
readln
end.

/////////////////////////////////////////////

Giải thích:

Các số “a...z” trong bảng ascii thì là từ 97...122.

Mình nhận ra số bé nhất trong khoảng 97...122 thì có 2 chữ số và số lớn nhất thì có 3 chũ số

Đầu tiên xâu t sẽ bằng 2 chữ số từ i

Xem nếu mà số này bé hơn 97 thì thêm một số vào

VD:122

CT đọc số 12 thấy bé hơn 97 thì thêm số 2 vào là 122

Sau hết ta phân thích số t ra chũ cái với hàm chr

Nếu có gì không hiểu hay CT của mình chưa hợp lí chỗ nào thì để lạ bình luận nhé: