大整数加法 题解
2025-06-21 21:32:28
发布于:北京
2阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[205],b[205],c[205];
int main(){
string s1,s2;
cin>>s1>>s2;
//反转存储
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
for (int i=0;i<s1.size();i++) a[i]=s1[i]-'0';//注意 -'0'
for (int i=0;i<s2.size();i++) b[i]=s2[i]-'0';
//加
for (int i=0;i<200;i++){
c[i+1]=(a[i]+b[i]+c[i])/10;//进位
c[i]=(a[i]+b[i]+c[i])%10;
}
//从后向前找非0位即首位,倒序输出
int i=201;
while (c[i]==0&&i>0) i--;
for (int j=i;j>=0;j--) cout<<c[j];
return 0;
}
这里空空如也
有帮助,赞一个