大数相加
附代码
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 int main() 7 { 8 int T,flag=0; 9 scanf("%d",&T); 10 for(int i=1;i<=T;i++){ 11 char sa[1000],sb[1000]; 12 int a[1000],b[1000],c[1000]; 13 scanf("%s %s",sa,sb); 14 int lena=strlen(sa); 15 int lenb=strlen(sb); 16 int lenc=(lena>lenb?lena:lenb); 17 memset(a,0,sizeof(a)); 18 memset(b,0,sizeof(b)); 19 20 for(int j=0;j<lena;j++){ 21 a[lena-1-j]=sa[j]-'0'; 22 } 23 for(int j=0;j<lenb;j++){ 24 b[lenb-1-j]=sb[j]-'0'; 25 } 26 memset(c,0,sizeof(c)); 27 for (int ii=0; ii<lenc; ii++) { 28 c[ii]=a[ii]+b[ii]+c[ii]; 29 if (c[ii]>=10) { 30 c[ii+1]=1; 31 c[ii]-=10; 32 } 33 } 34 if (c[lenc]>0) lenc++; 35 printf("Case %d: ",i); 36 printf("%s + %s = ",sa,sb); 37 38 39 for (int ii=lenc-1; ii>=0; ii--) 40 printf("%d",c[ii]); 41 printf(" "); 42 if(i!= T) 43 printf(" "); 44 } 45 return 0; 46 }