九度oj-1003

题目描述:

给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。
现在请计算A+B的结果,并以正常形式输出。

输入:

输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。

输出:

请计算A+B的结果,并以正常形式输出,每组数据占一行。

样例输入:

-234,567,890 123,456,789
1,234 2,345,678

样例输出:

-111111101
2346912

代码:

#include <stdio.h>  
#include <string.h>  
   int praseStr(char s[20])  
{  
    int a = 0;  
    int i;  
    for (i=0; i<strlen(s); i++)  
    {  
        if(s[i] == '-' || s[i] == ',')  
            continue;  
        a = a*10 + s[i]-48;  
    }  
    if(s[0] == '-')  
        a = -a;  
    //printf("%d\n", a);  
    return a;  
}  


int main(void)  
{  
    char sa[20], sb[20];  
    int a, b;  

    while (scanf("%s%s", sa, sb) != EOF)  
    {  
        a = praseStr(sa);  
        b = praseStr(sb);  
        printf("%d\n", a+b);  
    }  

    return 0;  
}  

一直狗的提醒:

主要是先变成字符型去检测逗号和负号,一开始不知道那个减48是什么意思,
因为'0'的ASCII值为48,s[i]-'0'把字符型转换成数字型,用哪种都行