Câu 2: Viết chương trình nhập vào từ bàn phím hai xâu ký tự, không quá 255 ký tự gồm ký tự số và ký tự khác. Xóa các ký tự không phải là số trong mỗi xâu, loại bỏ ký tự ‘0’ ở đầu mỗi xâu nếu có để thu được hai số (nếu xâu rỗng trả về số 0) và thực hiện: - In ra mà hình hai số thu được - In ra màn hình tổng 2 số trên Ví dụ: Nhập xâu thứ nhất: abc0123d@4$5] Nhập xâu thứ hai: ‘*/def56ab7’ Số thứ nhất: 12345 Số thứ hai: 567 Tổng: 12912

2 câu trả lời

uses crt;
var s,st,x,sum:string;
    i,nho,t:byte;
begin
    clrscr;
    write('Nhap xau thu nhat: ');readln(x);
    for i:=1 to length(x) do
        if x[i] in ['0'..'9'] then
           s:=s+x[i];
    while (s[1] = '0') and (length(s) <> 0) do
        delete(s,1,1);

    write('Nhap xau thu hai: ');readln(x);
    for i:=1 to length(x) do
        if x[i] in ['0'..'9'] then
           st:=st+x[i];
    while (st[1] = '0') and (length(st) <> 0) do
        delete(st,1,1);

    writeln('So thu nhat: ',s);
    writeln('So thu hai: ',st);

    while length(s) < length(st) do
        s:='0'+s;
    while length(st) < length(s) do
        st:='0'+st;
    nho:=0;
    for i:=length(s) downto 1 do
        begin
            t:=ord(s[i]) + ord(st[i]) + nho - 96;
            nho:=t div 10;
            t:=t mod 10;
            sum:=chr(t+48) + sum;
        end;
    if nho = 1 then
        sum:='1' + sum;
    writeln('Tong: ',sum);
readln;
end.

var s,st,c,p:string;
    i,a,b:longint;
begin
write('Nhap xau thu nhat: ');readln(s);
write('Nhap xau thu hai: ');readln(st);
c:='';
p:='';
for i := 1 to length(s) do
if s[i] in ['0'..'9'] then c := c + s[i];
for i := 1 to length(st) do
if st[i] in ['0'..'9'] then p := p + st[i];
while c[1] = '0' do delete(c,1,1);
while p[1] = '0' do delete(p,1,1);
if (c ='') and (p='') then
 begin
  writeln('Tong = 0');
  exit;
 end;
val(c,a);
val(p,b);
writeln('So thu nhat: ',c);
writeln('So thu hai: ',p);
writeln('Tong: ',a+b);
readln; 
end.

Câu hỏi trong lớp Xem thêm