有关高精度减法的一些问题!(Pascal语言)

来源:百度知道 编辑:UC知道 时间:2024/05/26 23:42:30
跪求!!!

program hdminus;
var a,b:array[1..20] of shortint;
c:array[1..21] of shortint;
i,j,m:Integer;
s1,s2:String;
len1,len2:integer;
begin
readln(s1);
readln(s2);

fillchar(a,20,0);
fillchar(b,20,0);
fillchar(c,21,0);

len1 := length(s1);
len2 := length(s2);

for i:=1 to len1 do
a[i] := ord(s1[len1-i+1]) - ord('0');

for i:=1 to len2 do
b[i] := ord(s2[len2-i+1]) - ord('0');

for i:=1 to 20 do
begin
if (a[i]=0) and (b[i]=0) then
break;

m := a[i] - b[i] + c[i] +10;
c[i] := m mod 10;
c[i+1] := c[i+1] + m div 10 - 1;
end;

m := 0;
for i:= 21 downto 1 do
begin
if c[i]>0 then
begin
for j:=i downto 1 do
write(c[j]);