回 帖 发 新 帖 刷新版面

主题:大哥大姐,小妹向你们请教一道题!

[em10]    请问,高精度运算加法的程序怎么编?麻烦各位高手指点一下!  [em18]

回复列表 (共5个回复)

沙发

看书`

板凳

这样编:program yb(input,output);
var a1:string;
     b1:string;
     a:array[1..100]of integer;
     b:array[1..100]of integer;
     c:array[1..101]of integer;
     i,j,t,code:integer;
     max:integer;
  begin
   readln(a1);
   readln(b1);
   for i:=length(a1)downto 1 do
    val(a1[i],a[length(a1)-i+1],code);
   for i:=length(b1)downto 1 do
    val(b1[i],b[length(b1)-i+1],code);
  if length(a1)>=length(b1)then
   max:=length(a1)
  else
   max:=length(b1);
  for i:=1 to max do begin
   c[i]:=(a[i]+b[i]+t)mod 10;
   t:=(a[i]+b[i]+t)div 10;
  end;
  write(a1,'+',b1,'=');
if t=1 then begin
  write('1');
  for i:=max downto 1 do
   write(c[i]);
  end;
  if t=0 then
   for i:=max downto 1 do
    write(c[i]);
    writeln;
  end.

3 楼

4 楼

楼上的好精辟啊!!!!

5 楼

对哦``偶又长见识了```

我来回复

您尚未登录,请登录后再回复。点此登录或注册