一个A+B的问题,求帮忙看一下哪里有错误?
题目描述:给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。 (-10^9<A,B<10^9)
输入包含多组数据数据。
想问一下这个代码哪里有问题?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
double f(char *s,int l){
int i,j;
double a=0;
for(i=l-1,j=0;i>0;i--){
if(s[i]!=',') a=a+(s[i]-'0')*pow(10,j++);
}
if(s[0]!='-') a=a+(s[0]-'0')*pow(10,j);
else a=-a;
return a;
}
int main(void){
char s1[20],s2[20];
int i,l1,l2,a1,a2;
while((scanf("%s",s1))!=EOF){
scanf("%s",s2);
l1=strlen(s1);
l2=strlen(s2);
a1=(int)f(s1,l1);
a2=(int)f(s2,l2);
printf("%d\n",a1+a2);
}
return 0;
}