A+B 演算法問題

夏夕14207304發表於2020-10-10

題目描述

給定兩個整數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<cstdio>
#include<cstring>

long long ToNumber(char *a){
	long long sum=0;
	int len=strlen(a);
	for(int i=0; i<len; i++)
 
        {
 
            if(a[i]>='0'&&a[i]<='9')   //如果是數字字元,則計算;否則略過
 
                sum=sum*10+a[i]-'0';   //按位乘10
 
        }
 
        if(a[0]=='-')    //如果是負數,則表示成負數
 
            sum=-sum;
    return sum;
}

int main(){    
	long long a,b;
    char str[100],*p,*buff[2];
    p =NULL;
    a = 0;
    b = 0;
    
    while(gets(str)!=NULL)
	{
		p = strtok(str," ");
		buff[0] = p;
		p = strtok(NULL, " ");  
		buff[1] = p;
		p = strtok(NULL, " ");  
		a = ToNumber(buff[0]);
		b = ToNumber(buff[1]);
		printf("%d\n",a+b);
	}
    return 0;    
}

 

相關文章