首页 > 其他 > 详细

加减程序段

时间:2015-12-05 22:34:24      阅读:281      评论:0      收藏:0      [点我收藏+]
 1 //加法过程
 2 procedure plus(var a1,b1:arr;var x:arr);
 3   var i,k:integer;
 4   begin
 5     k:=0;
 6     for i:=1 to l do
 7       begin
 8         a1[i]:=a1[i]+b1[i]+k;
 9         k:=a1[i] div 10;
10         a1[i]:=a1[i] mod 10;
11       end;
12     if k>0 then begin inc(l);a[l]:=k;end;
13     x:=a1;
14  end;
15 
16 //加法函数
17 function plus(a,b:arr):arr;
18   var i,c:integer;
19   begin
20     c:=0;
21     for i:=1 to l do
22       begin
23         a[i]:=a[i]+b[i]+c;
24         c:=a[i] div 10;
25         a[i]:=a[i] mod 10;
26       end;
27     if c>0 then begin inc(l);a[l]:=c;end;
28     plus:=a;
29   end;
30 //减法过程
31 procedure minus(var a:numtype;var la:integer;b:numtype);    {计算a=a-b,返回差a及其长度la}
32 var
33  i:integer;
34 begin
35  for i:=1 to la do                            {逐位相减}
36   begin
37    if a[i]<b[i]                                {借位}
38      then begin dec(a[i+1]);a[i] :=a[i]+10;end;
39    a[i] :=a[i]-b[i];                            {计算差的第i位}
40   end;
41   while a[la]=0 do dec(la);                            {计算差的实际长度}
42  end;

 

加减程序段

原文:http://www.cnblogs.com/vacation/p/5022325.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!