杭电oj1002,,做完留一下记录(c)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杭电oj1002,,做完留一下记录(c)相关的知识,希望对你有一定的参考价值。

 1 #include <stdio.h>
 2 #include <string.h>
 3  void Print(int a[1001]);
 4 int main()
 5 {
 6     int t,i,j,k;
 7     scanf("%d",&t);
 8     getchar();
 9     char temp1[1001],temp2[1001];
10     int a[20][1001],b[20][1001],c[20][1001];
11     memset(a,0,t*1001*4);
12     memset(b,0,t*1001*4);
13     memset(c,0,t*1001*4);
14     for(i=0;i<t;i++)
15     {
16         scanf("%s%s",temp1,temp2);
17         for(j=1001-strlen(temp1),k=0;j<=1000;j++,k++)
18         {
19             a[i][j]=temp1[k]-0;
20         }
21          for(j=1001-strlen(temp2),k=0;j<=1000;j++,k++)
22         {
23             b[i][j]=temp2[k]-0;
24         }
25     }
26     for(i=0;i<t;i++)
27     {
28         for(j=1000;j>0;j--)
29         {
30            k=c[i][j];
31            c[i][j]=(k+a[i][j]+b[i][j])%10;
32            c[i][j-1]=(k+a[i][j]+b[i][j])/10;
33         }
34     }
35      for(i=0;i<t;i++)
36     {
37 
38         printf("Case %d:\n",i+1);
39         Print(a[i]);
40         printf(" + ");
41         Print(b[i]);
42         printf(" = ");
43         Print(c[i]);
44         printf("\n");
45         if(i<t-1) printf("\n");
46     }
47     return 0;
48 }
49  void Print(int a[1001])
50  {
51      int j,k;
52      for(j=0,k=0;j<1001;j++)
53         {
54            if(k||a[j]!=0) k=1;
55            if(k)
56            {
57                printf("%d",a[j]);
58            }
59         }
60  }

 

以上是关于杭电oj1002,,做完留一下记录(c)的主要内容,如果未能解决你的问题,请参考以下文章

杭电OJ 1002

杭电OJ1002大数据相加

杭电1002

如何有效使用 杭电 hdu oj

进制转换————杭电oj 2031题(c语言解决)

杭电OJ 1003