#include <iostream> #include <string> #include <cstring> using namespace std; int main(){ char a[1000],b[1000],c[1000]; while(cin>>a>>b>>c){ int d[1000],e[1000],f[1000]; int sum[1000]; int n1,n2,n3; int i,j,k; memset(d,0,sizeof(d)); memset(e,0,sizeof(e)); memset(f,0,sizeof(f)); n1=strlen(a); n2 =strlen(b); n3=strlen(c); for(i=0,j=n1-1;i<n1;i++,j--){ d[j]=a[i]-'0';//反向加? } for(i=0,j=n2-1;i<n2;i++,j--){ e[j]=b[i]-'0'; } for(i=0,j=n3-1;i<n3;i++,j--){ f[j]=c[i]-'0'; } for(j=0;j<97;j++){ int nxt=0; for(i=0;i<1000;i++){ sum[i]=d[i]+e[i]+f[i]+nxt; nxt=sum[i]/10; sum[i]=sum[i]%10; } for(i=0;i<1000;i++){ d[i]=e[i]; e[i]=f[i]; f[i]=sum[i]; } } int z=0; if(n1=1&&n2==1&&n3==1&&a[0]=='0'&&b[0]=='0'&&c[0]=='0'){ cout<<"0"; } for(i=1000-1;i>=0;i--){ if(sum[i]==0&&z==0){ continue; }else{ cout<<sum[i]; z=1; } } cout<<endl; } return 0; } |
Double click to view unformatted code.