第二次写,40求调
查看原帖
第二次写,40求调
941231
__T_T__楼主2023/3/19 20:53
#include<bits/stdc++.h>
using namespace std;
long long k=0;
char f(char a,char b){
	long long ai=a-48,bi=b-48,ans=ai+bi+k;
	if(ans>=10){
		k=1;
		return (char)ans-10+48;
	}else{
		k=0;
		return (char)ans+48;
	}
}
int main(){
	string a,b,ans="";
	cin>>a>>b;
	long long asz=a.size(),bsz=b.size(),ab=max(asz,bsz);
	//cout<<asz<<' '<<bsz<<' '<<ab;
	for(long long i=ab-1;i>=0;i--){
		if(asz==0){
			ans[i]=f(b[i],'0');
			k=0;
		}else if(bsz==0){
			ans[i]=f(a[i],'0');
			k=0;
		}
		if((a[i]>='0'&&a[i]<='9')&&(b[i]>='0'&&b[i]<='9')){
			ans[i]=f(a[i],b[i]);
		}
		asz--,bsz--;
	}
	for(int i=0;i<ab;i++){
		cout<<ans[i];
	}
return 0;
}
2023/3/19 20:53
加载中...