【PAT 1016 部分A+B】已知通过答案,想搞清楚自己的代码哪里出错,求前辈赐教,谢谢!

初学不久,求各位前辈赐教。OJ上只能部分通过,感激不尽!

是哪里出了问题?这样的思路需要改正吗?

附题目链接:http://www.cnblogs.com/fyymonica/p/3723672.html

#include
#include
#include
int main(){
int i;
long long ans;
char A[15],a[1],b[1],B[15],ans1[15]="0",ans2[15]="0";
while(scanf("%s%s%s%s",A,a,B,b)!=EOF){
for(i=0;i<10;i++){
if(A[i]==a[0]){
strcat(ans1,a);
}
if(B[i]==b[0]){
strcat(ans2,b);
}
}
ans=atoi(ans1)+atoi(ans2);
printf("%ld\n",ans);
}
return 0;
}

你的输入要改改
http://blog.csdn.net/acm_ted/article/details/20483257

谢谢楼上的回答,刚来不知道怎么回复回答,请见谅。题目不一样,我做的题目是部分A+B,应该是乙级的问题。