题目描述:给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。现在请计算A+B的结果,并以正常形式输出。输入:输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。输出:请计算A+B的结果,并以正常形式输出,每组数据占一行。样例输入:-234,567,890 123,456,7891,234 2,345,678样例输出:-1111111012346912
#include <stdio.h>
#include <string.h>
char s1[20],s2[20];
int len1,len2;
_int64 a, b;
int main()
{
int i=0;
while(scanf("%s%s",s1,s2) != EOF)
{
a = b = 0;
len1 = strlen(s1);
len2 = strlen(s2);
for(i = 0; i < len1; i++){
if(s1[i] >= '0' && s1[i] <= '9')
a=a*10+s1[i]-'0';
}
if(s1[0]=='-')
a=-a;
for(i = 0; i < len2; i++){
if(s2[i] >='0' && s2[i]<='9')
b=b*10+s2[i]-'0';
}
if(s2[0]=='-')
b=-b;
printf("%I64d",a+b);
}
return 0;
}
说明:在win下的VC6.0里面,声明数据类型的时候应该写作__int64 a;
输入输出的时候用 %I64d,scanf(”%I64d”,&a);printf(”%I64d”,a);