有没有大佬帮我看一下这段代码怎么改正,目前存在的问题是类似5+5,10+999这样的输入无法正确输出,但我没有改正的思路
代码如下:
#include <bits/stdc++.h>
using namespace std;
void reverse(string &n){
char t;
for(int i = 0;i <= n.size()/2;++i){
t = n[i];
n[i] = n[n.size()-i-1];
n[n.size()-i-1]=t;
}
}
int main(){
string a,b,c="";
cin >> a >> b;
reverse(a);
reverse(b);
for(int i = 0;i < min(a.size(),b.size());++i){
if(a[i]+b[i] < 106)c += char(a[i]+b[i]-48);
else{
if(i == a.size()-1 && i == b.size()-1){
c += char(a[i]+b[i]-58);
c += "1";
}
c += char(a[i]+b[i]-58);
if(a.size()>=b.size())a[i+1]++;
else b[i+1]++;
}
}
for(int i = min(a.size(),b.size());i < max(a.size(),b.size());++i){
if(a.size() > b.size())c += a[i];
else c += b[i];
}
reverse(c);
cout << c;
return 0;
}