杭电acm 1002解决办法

杭电acm 1002
提交显示错误,不知道错在哪里
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char str_a[1000],str_b[1000];
int sum[1001],a[1000],b[1000];
int i,al,bl,k,count,n,j;
int flag;
cin>>n;

for(j=1;j<=n;j++)
{
cin>>str_a;
cin>>str_b;

al=strlen(str_a);
bl=strlen(str_b);

for(i=0;i<al;i++)
  a[i]=str_a[al-i-1]-48;
for(i=0;i<bl;i++)
  b[i]=str_b[bl-i-1]-48;

k=al>bl?al:bl;
if(al>bl)
{
for(i=bl;i<k;i++)
  b[i]=0;
}
else
{
for(i=al;i<k;i++)
  a[i]=0;
}

for(i=0;i<k;i++)
{
sum[i]=(a[i]+b[i]+flag)%10;
flag=(a[i]+b[i]+flag)/10;
}
if(flag != 0)
{
sum[k]=flag;
count=k+1;
}
else
  count=k;
cout<<"Case "<<j<<":"<<endl;
cout<<str_a<<" "<<"+"<<" "<<str_b<<" "<<"="<<" ";
for(i=0;i<count;i++)
  cout<<sum[count-i-1];
cout<<endl;
cout<<endl;
}
}
------解决思路----------------------
杭电acm 1002解决办法
一个测试用例。
------解决思路----------------------
仅供参考:
#include <stdio.h>
#include <string.h>
#define MAXLEN 1000
char a1[MAXLEN];
char a2[MAXLEN];
static int v1[MAXLEN];
static int v2[MAXLEN];
static int v3[MAXLEN];
int i,j,n,L,z;
void main(void) {
    scanf("%d",&n);
    for (j=0;j<n;j++) {
        scanf("%s%s",a1,a2);

        L=strlen(a1);
        for (i=0;i<L;i++) v1[i]=a1[L-1-i]-'0';

        L=strlen(a2);
        for (i=0;i<L;i++) v2[i]=a2[L-1-i]-'0';

        for (i=0;i<MAXLEN;i++) v3[i]=v1[i]+v2[i];

        for (i=0;i<MAXLEN;i++) {
            if (v3[i]>=10) {
                v3[i+1]+=v3[i]/10;
                v3[i]=v3[i]%10;
            }
        }

        printf("Case %d:\n", j+1);
        printf("%s + %s = ", a1, a2);

        z=0;
        for (i=MAXLEN-1;i>=0;i--) {
            if (z==0) {
                if (v3[i]!=0) {
                    printf("%d",v3[i]);
                    z=1;
                }
            } else {
                printf("%d",v3[i]);
            }
        }
        if (z==0) printf("0");

        printf("\n");
    }
}
//Sample Input
//3
//0 0
//1 2
//112233445566778899 998877665544332211
//
//Sample Output
//Case 1:
//0 + 0 = 0
//Case 2:
//1 + 2 = 3
//Case 3:
//112233445566778899 + 998877665544332211 = 1111111111111111110