只有80分,不知道为什么?
查看原帖
只有80分,不知道为什么?
1121089
zuoyang001楼主2023/12/15 20:01
#include<bits/stdc++.h>
using namespace std;
string a,b;
int len1,len2,len3=0,c[100]={0};
int main(){
	cin>>a>>b;
	len1=a.size(),len2=b.size();
	reverse(a.begin(),a.end());
	reverse(b.begin(),b.end());
	if(len1>=len2){
		len3=len1;
		for(int i=0;i<len1;i++){
			if(a[i]-'0'+b[i]-'0'+c[i]>=10||a[i]-'0'+c[i]>=10){
				c[i+1]++;
				if(i<len2)
				c[i]+=a[i]-'0'+b[i]-'0'-10;
				else c[i]+=a[i]-'0'-10;
				if(i==len1-1)len3++;
			}
			else{
				if(i<len2)
				c[i]+=a[i]-'0'+b[i]-'0';
				else c[i]+=a[i]-'0';
			}
		}
	}
	else{
		swap(a,b);
		len3=len2;
		for(int i=0;i<len2;i++){
			if(a[i]-'0'+b[i]-'0'+c[i]>=10||a[i]-'0'+c[i]>=10){
				c[i+1]++;
				if(i<len1)
				c[i]+=a[i]-'0'+b[i]-'0'-10;
				else c[i]+=a[i]-'0'-10;
				if(i==len2-1)len3++;
			}
			else{
				if(i<len1)
				c[i]+=a[i]-'0'+b[i]-'0';
				else c[i]+=a[i]-'0';
			}
		}
	}
	
	for(int i=len3-1;i>=0;i--){
		cout<<c[i];
	}
	return 0;
}
2023/12/15 20:01
加载中...