算法笔记,简单模拟A+B
给定两个整数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<bits/stdc++.h>
using namespace std;
char str1[15],str2[15];
int main(){
while(scanf("%s%s",str1,str2)!=EOF){
long long num1=0,num2=0;
int len1=strlen(str1),len2=strlen(str2);
for(int i=len1-1,j=0;i>=0;i--){
if(str1[i]!=','){
if(str1[i]=='-')num1*=-1;
else num1+=pow(10.0,j)*(str1[i]-'0'),j++;
}
}
for(int i=len2-1,j=0;i>=0;i--){
if(str2[i]!=','){
if(str2[i]=='-')num2*=-1;
else num2+=pow(10.0,j)*(str2[i]-'0'),j++;
}
}
printf("%lld\n",num1+num2);
}
return 0;
}
写给我自己备忘:完全没必要又去定义一个str3和str4接受str1和str2的逆置,这是多此一举而且易错的。