HDU 1002 A + B Problem II

大数相加

附代码

 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 }
---------------- 人们生成的最美好的岁月其实就是最痛苦的时候,只是事后回忆起来的时候才那么幸福。
原文地址:https://www.cnblogs.com/livelihao/p/5162934.html