九度oj 1003

前几天开刷九度oj,准备把做的题都放上,先放1003

 

题目1003:A+B            

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:16923

解决:7029

题目描述:
给定两个整数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>

int toNum(char c[]) {
     int res;
     bool flag = false;
     int i = 1;
     if(c[0] == '-') {
          res = (c[1] - '0');
          flag = true;
          i++;
     }
     else {
          res = c[0] - '0';
     }
     //printf("res is %d\n",res);

     for(; c[i] != '\0'; i++) {
          if(c[i] != ',') {
               res = res * 10 + c[i] - '0';
               //printf("res deidai is %d\n",res);
          }
     }
     //printf("%d\n",res);
     if(flag == true)
          res = res * -1;
     return res;
}

int main() {
    char Ac[12];
    char Bc[12];

    int A,B;
    while(scanf("%s %s",Ac,Bc)!= EOF) {
     A = toNum(Ac);
     B = toNum(Bc);
     int C = A + B;
     printf("%d\n",C);

    }
    return 0;
}

 

posted @ 2016-07-07 19:58  Jason杰  阅读(214)  评论(0编辑  收藏  举报