文章
1
粉丝
98
获赞
0
访问
578
#include<bits/stdc++.h>
using namespace std;
int main() {
string s1, s2;
while (cin >> s1 >> s2) {
int jw = 0; // 进位,初始化为0
for (int i = s1.size() - 1; i != -1; i--) { // 从字符串末尾开始逐位相加
if ((s1[i] - '0') + (s2[i] - '0') + jw >= 10) { // 如果当前位相加后大于等于10
s1[i] = '0' + (s1[i] - '0') + (s2[i] - '0') + jw - 10; // 计算当前位的结果并更新s1
jw = 1; // 设置进位为1
} else { // 如果当前位相加后小于10
s1[i] = '0' + (s1[i] - '0') + (s2[i] - '0') + jw; // 计算当前位的结果并更新s1
jw = 0; // 重置进位为0
}
}
if (jw > 0) { // 如果最高位相加后有进位
cout << '1' + s1; // 输出结果时在最前面加上进位
} else {
for (int j = 0; j < s1.size(); j++) {
cout << s1[j]; // 输出结果
}
}
cout << endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发