九度OJ 1003:A+B
阿新 • • 發佈:2019-02-15
時間限制:1 秒
記憶體限制:32 兆
特殊判題:否
提交:15078
解決:6299
- 題目描述:
-
給定兩個整數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
思路:
需要用字串讀取資料,同時要注意和的範圍可能超出int表示範圍,所以建議用字串或long long表示。
程式碼:
#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; } /************************************************************** Problem: 1003 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb ****************************************************************/