【题意】
给定不超过100个不超过100位的正整数,求和
【输入】
每行一个数
数据以一行0结束
【输出】
输出所有数的和
高精度加法
program poj1503; type bigint=array [0..1001] of longint; var i,j,k:longint; ans,temp:bigint; s:string; procedure plus (var a,b:bigint); var i,k:longint; begin if a[0]>b[0] then k:=a[0] else k:=b[0]; i:=1; while (i<=k)or(a[i]<>0) do begin a[i]:=a[i]+b[i]; a[i+1]:=a[i+1]+a[i] div 10; a[i]:=a[i] mod 10; inc(i); end; dec(i); a[0]:=i; end; begin ans[0]:=1; repeat readln(s); if s='0' then break; while s[1]='0' do delete(s,1,1); fillchar(temp,sizeof(temp),0); for i:=1 to length(s) do temp[i]:=ord(s[length(s)-i+1])-48; temp[0]:=length(s); plus(ans,temp); until false; for i:=ans[0] downto 1 do write(ans[i]); writeln; end.