蒟蒻求订正代码
查看原帖
蒟蒻求订正代码
890943
Bismuth_Sulfate楼主2023/11/14 20:52

有没有大佬帮我看一下这段代码怎么改正,目前存在的问题是类似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;
}
2023/11/14 20:52
加载中...