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.