#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
void complex(string& s)
{
int i;
for(i=0;i<s.length();i++)
s[i]='9'-s[i]+'0';
for(i=s.length()-1;i>=0;i--)
{
if(s[i]=='9')s[i]='0';
else {s[i]++;break;}
}
}
void add(string& a,const string& s)
{
int temp=0;
for(int i=0,j=s.length()-1;j>=0||temp;i++,j--)
{
temp+=a[i]-'0'+(j>=0?s[j]-'0':0);
a[i]=temp%10+'0';
temp/=10;


}
}
const int BitNum=205;
void main()
{
for(int num;cin>>num && num;)
{
       string a(BitNum,'0');
  for(string s;cin>>s && num--;)
  {
           if(s[0]=='-')
  {
  s=s.substr(1);
  s=string(BitNum-s.length(),'0')+s;
  complex(s);


  }
  else
  s=string(BitNum-s.length(),'0')+s;
  add(a,s);
  }
  reverse(a.begin(),a.end());
  if(a[0]=='9')
  {
  complex(a);
  cout<<'-';
  }
  int pos=a.find_first_not_of('0');
  if(pos==string::npos)cout<<"0\n";
  else cout<<a.substr(pos)<<endl;
}

}

一旦输入负数,程序就运行不下去。