题目描述
输入两行表示两个非负整数,数字长度不超过1000,求和。
输入样例 复制
2
3
输出样例 复制
5
代码
# include <iostream>
# include <cstring>
# include <cstdlib>
# include <vector>
# include <algorithm>
using namespace std;
vector<int> a;
void fun(string s1, string s2)
{
int carry;
int i = s1.size() - 1;
int j = s2.size() - 1;
while(i >= 0 || j >= 0 || carry > 0)
{
int d = (i >= 0) ? s1[i] - '0' : 0;
int e = (j >= 0) ? s2[i] - '0' : 0;
int sum = d + e + carry;
a.push_back(sum % 10);
carry = sum / 10;
i--;
j--;
}
reverse(a.begin(), a.end());
}
int main()
{
string s1;
string s2;
cin>>s1;
cin>>s2;
fun(s1, s2);
for(int i = 0; i < a.size(); i++)
{
cout<<a[i];
}
return 0;
}
本文介绍了一段C++代码,用于计算两个非负整数字符串的和,通过fun函数处理字符串并将结果存储在动态数组中,最后输出结果。
1235

被折叠的 条评论
为什么被折叠?



