Nhập vào hai xâu (tất cả đều kí tự số và độ dài không giới hạn),in ra hiệu của hai xâu đó bằng pascal
2 câu trả lời
uses crt;
var a, b: AnsiString;
function sub(a, b: AnsiString): AnsiString;
var ans: AnsiString;
s, borrow, i: Longint;
begin
borrow:=0; ans:='';
while length(a) < length(b) do
a:='0' + a;
while length(b) < length(a) do
b:='0' + b;
for i:=length(a) downto 1 do
begin
s:=ord(a[i]) - ord(b[i]) - borrow;
if s < 0 then
begin
inc(s, 10);
borrow:=1;
end else
borrow:=0;
ans:=chr(s + 48) + ans;
end;
while(length(ans) > 1) and (ans[1] = '0') do
delete(ans, 1, 1);
exit(ans);
end;
begin
clrscr;
readln(a);
readln(b);
writeln(sub(a,b));
readln;
end.
uses crt;
var s1,s2:string;
function tru(a,b:string):string;
var i,nho,t:longint;
begin
tru:='';
while length(a)<length(b) do a:='0'+a;
while length(b)<length(a) do b:='0'+b;
nho:=0;
for i:=length(a) downto 1 do
begin
t:=(ord(a[i])-48)-(ord(b[i])-48)-nho;
nho:=0;
if t<0 then
begin
t:=(ord(a[i])-48)+10-(ord(b[i])-48)-nho;
nho:=1;
end;
tru:=chr(t+48)+tru;
end;
while tru[1]='0' do delete(tru,1,1);
end;
begin
clrscr;
readln(s1);
readln(s2);
writeln(tru(s1,s2));
readln
end.