【题意】
给定不超过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.