a+b hdoj 3787

A+B

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3698    Accepted Submission(s): 2107


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

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

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

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

Sample Output
   
   
   
   
-111111101 2346912
#include <stdio.h> #include <string.h> #define M 15 char s1[M],s2[M]; int f(char s[],int n) { int num=0; int ok=0; int i; if(s[0]=='-') { ok=1; } else if(s[0]!=',') { num = s[0]-'0'; } for(i=1;i<n;i++) { if(s[i]!=',') { num = num *10 + s[i]-'0'; } } if(ok) { num *= -1; } return num; } int main() { while(scanf("%s",s1)!=EOF) { scanf("%s",s2); int len1=strlen(s1); int len2=strlen(s2); printf("%d\n",f(s1,len1)+f(s2,len2)); } return 0; }

你可能感兴趣的:(a+b hdoj 3787)