分析:注意格式的处理。
#include<iostream>
using namespace std;
#define N 110
int op[N],sum[N];
char in[N];
void SUM()
{
int i,len;
memset(sum,0,sizeof(sum));
while(scanf("%s",in)&& strcmp(in,"0"))
{
memset(op,0,sizeof(op));
len=strlen(in);
for(i=0;i<len;i++) //处理操作数为反向
op[i]=in[len-1-i]-'0';
for(i=0;i<N;i++)
{
sum[i]+=op[i];
if(sum[i]>9)
{
sum[i]-=10;
sum[i+1]++;
}
}
}
}
int main()
{
int k,i,n;
scanf("%d",&n);
for(k=0;k<n;k++)
{
SUM();
i=N-1;
while(sum[i]==0) i--;
if(i<0)
cout<<0;
else
for(;i>=0;i--)
cout<<sum[i];
cout<<endl;
if(k!=n-1)
cout<<endl;
}
return 0;
}
HDU ACM 1047 Integer Inquiry->大数相加
原文地址:http://blog.csdn.net/a809146548/article/details/46362447