分析:注意格式的处理。
#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