#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[300],b[300],c[500];
string fun_sum(string s1,string s2){
memset(a,0,sizeof(a));//全部初始化为0;
memset(b,0,sizeof(b));//全部初始化为0;
memset(c,0,sizeof(c));//全部初始化为0;
int len=s1.size();
for(int i=0;i<len;i++){
a[len-i-1]=s1[i]-'0';//转换成整数
}
len=s2.size();
for(int i=0;i<len;i++){
b[len-i-1]=s2[i]-'0';//转换成整数
}
int len1=s1.size();
if(len1>len) len=len1;
for(int i=0;i<len;i++){//按位加法
c[i]+=a[i]+b[i];
if(c[i]>=10){
c[i+1]+=c[i]/10;
c[i]%=10;
}
}
if(c[len]>0) len++;
string ans;
for(int i=len-1;i>=0;i--){
ans+=c[i]+'0';
}
return ans;//返回字符串
}
int main(){
cin>>s1>>s2;
cout<<fun_sum(s1,s2)<<endl;//输出
return 0;
}
c++算法_高精度加法
于 2022-10-05 17:18:56 首次发布