HDU 1002 A + B Problem II 大数相加

#include<string.h>
#include <stdio.h>
int main
()
{

    char
a[1000],b[1000];
    char
a1[1001],b1[1001],c[1001];
    int
i,j,k,flag,pos,la,lb;
    scanf("%d",&k);

      for
(j=1;j<=k;j++)
      {

        scanf("%s %s",a,b);
       la=strlen(a);
       lb=strlen(b);
       for
(i=0;i<1001-la;i++)
       {

          a1[i]='0';
       }

       strcpy(a1+1001-la,a);
       for
(i=0;i<1001-lb;i++)
       {

          b1[i]='0';
       }

       strcpy(b1+1001-lb,b);
       flag=0;
       for
(i=1000;i>=0;i--)
       {

        c[i]=a1[i]+b1[i]-'0'-'0'+flag;
        if
(c[i]>9)
        {

           c[i]=c[i]-10;
           flag=1;
        }

        else

        flag=0;
       }

       for
(i=0;i<1001;i++)
       {

         c[i]=c[i]+'0';
       }

       pos=1000;
       for
(i=0;i<1000;i++)
       {

        if
(c[i]!='0')
        {

            pos=i;break;
        }

        else
pos=1000;
       }

       printf("Case %d:\n",j);
       printf("%s + %s = ",a,b);
       for
(i=pos;i<1001;i++)
       {

           printf("%c",c[i]);
       }

       printf("\n");
       if
(j<k) printf("\n");
      }


    return
0;
}

原文地址:https://www.cnblogs.com/zxj015/p/2740306.html