杭电oj1002上的题,为什么我的过不了啊,,
#include <stdio.h>#include <stdlib.h>
#include<string.h>
void deal(char *a,int *a1){
int i,j;
scanf("%s",a);
for(i=0;a[i]<='9'&&a[i]>='0';i++)
a1[i]=a[i]-'1'+1;
}
int main(){
char a[1010]={0},b[1010]={0};
int a1[1010]={0},b1[1010]={0},c[1010]={0};
int i,j,m,n,p,a2,b2,f=1009,sb=0,ars,a3,b3;
scanf("%d",&n);
for(p=1;p<=n;p++){
a2=b2=a3=b3=sb=0,f=1009;
deal(a,a1),deal(b,b1);
for(i=0;i<1000&&a[i]!=0;i++)
a3=a2=i;
for (i=0;i<1000&&b[i]!=0;i++)
b3=b2=i;
while(a2>=0&&b2>=0){
c[f]=(a1[a2]+b1[b2]+sb)%10;
sb=(a1[a2]+b1[b2]+sb)/10;
a2--,b2--;
f--;
}
if(a2>b2){
while(a2>=0){
c[f]=(a1[a2]+sb)%10;
sb=(a1[a2]+sb)/10;
a2--;
f--;
}
}
else{
while(b2>=0){
{
c[f]=(b1[b2]+sb)%10;
sb=(b1[b2]+sb)/10;
b2--;
f--;
}
}
if(sb) c[f]=sb,f--;
printf("case %d:\n",p);
printf("%s + %s = ",a,b);
for(i=f+1;i<=1009;i++)
printf("%d",c[i]);
if(p==n)
printf("\n");
else
printf("\n\n");
}
}
return 0;
}