九度題目1003:A+B && 2010年浙江大學計算機及軟件工程研究生機試真題

題目1003:A+B

時間限制:1 秒

內存限制:32 兆

特殊判題:


題目描述:
給定兩個整數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
來源:
2010年浙江大學計算機及軟件工程研究生機試真題

參考代碼:
//字符串的處理,注意符號的存儲與字符數字的轉換

#include<stdio.h>
#include<string.h>

int str2int(char s[]) {
	int len = strlen(s);
	int ans=0, sign=1, i=0;
	if(s[0] == '-') { //當爲負數時,存儲負號,從下一位開始計算
		sign = -1;
		i++;
	}
	for(; i<len; i++)
		if(s[i] != ',') //除去逗號
			ans = ans*10 + s[i]-'0'; //數字i與數字0的asc碼相減即爲數字i
	return ans*sign; //加上原始符號
}

int main() {
    //freopen("in.txt","r",stdin);
	char s1[11], s2[11];
	while(scanf("%s %s",s1,s2)!=EOF)  {
		printf("%d\n",str2int(s1) + str2int(s2));
	}

    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章