主题:大哥大姐,小妹向你们请教一道题!
蓝色幽梦草
[专家分:0] 发布于 2005-07-29 22:22:00
[em10] 请问,高精度运算加法的程序怎么编?麻烦各位高手指点一下! [em18]
回复列表 (共5个回复)
沙发
口口and枕头 [专家分:1550] 发布于 2005-07-30 00:46:00
看书`
板凳
sd5774188 [专家分:260] 发布于 2005-07-30 13:32:00
这样编: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 楼
炼雷 [专家分:0] 发布于 2005-08-02 18:39:00
悟
4 楼
stuart920106 [专家分:730] 发布于 2005-08-02 22:33:00
楼上的好精辟啊!!!!
5 楼
MagicG [专家分:650] 发布于 2005-08-03 21:00:00
对哦``偶又长见识了```
我来回复