题目
公司:美团
类型:字符串模拟
题意:模拟字符串加法,注意非法输入要输出error,首字母不用大写,题目跟样例不一致。
#include <bits/stdc++.h>
using namespace std;
int main(){
string a, b;
while(cin>>a>>b){
bool ok = true;
for(int i = 0; i < a.size(); i++) if(!isdigit(a[i])) ok = false;
for(int i = 0; i < b.size(); i++) if(!isdigit(b[i])) ok = false;
if(!ok) puts("error");
else{
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
string res;
int i = 0, j = 0;
int c = 0;
while( i < a.size() || j < b.size()){
int u = i == a.size()?0:a[i]-'0';
int v = j == b.size()?0:b[i]-'0';
c += u+v;
res+= char(c%10 + '0');
c /= 10;
i++, j++;
}
if(c) res += '1';
reverse(res.begin(), res.end());
cout<<res<<endl;
}
}
return 0;
}