#include <iostream>
using namespace std;
int main(){
string s1,s2;
//设置最大位数
int a1[210],a2[210],a3[210]={0};
//cin >> s1;
//cin >> s2;
getline(cin,s1);
getline(cin,s2);
//s1,s2逆序存入a1,a2
for (int i=0;i<s1.size();i++){
a1[s1.size()-i-1]=s1[i] - '0';
}
for (int i=0;i<s2.size();i++){
a2[s2.size()-i-1]=s2[i] - '0';
}
int len=s1.size()>s2.size()?s1.size():s2.size();
//诸位相加
for (int i=0;i<len;i++){
a3[i]=a1[i]+a2[i];
}
//进位
for (int i=0;i<len;i++){
if (a3[i]>=10){
a3[i+1]=a3[i+1]+a3[i]/10;
a3[i]=a3[i]%10;
}
}
//判断倒序输出位数
if (a3[len]!=0){
len++;
}
//输出
for (int i=len-1;i>=0;i--){
cout << a3[i];
}
return 0;
}
原理:小学二年级加法算法
© 版权声明
若无特殊说明,文章版权归作者所有,请勿转载至任何平台。
THE END
暂无评论内容