额,还是大数问题,不难,就是,居然来一个这么变态的测试数据
1
0000
0000
0
输出 0
#include<iostream> #include<math.h> #include<string.h> using namespace std; int main() { char str[101]; int sum[110],j,k,cas,num; num=0; cin>>cas; while(cas--) { if(num++) cout<<endl; memset(sum,0,sizeof(sum)); while(cin>>str) { if(strcmp(str,"0")==0) { for(j=109;j>=0;j--) if(sum[j]!=0) break; if(j<0) { cout<<0<<endl; break;} for(int i=j;i>=0;i--) cout<<sum[i]; cout<<endl; break; } j=k=0; for(int i=strlen(str)-1;i>=0;i--) { k+=(str[i]-'0')+sum[j]; sum[j++]=k%10; k/=10; } while(k) { k+=sum[j]; sum[j++]=k%10; k/=10; } } } return 0; }