一、题目:
描述
输入两个用字符串表示的整数,求它们所表示的数之和。
字符串的长度不超过10000。
本题含有多组样例输入。
输入描述:
输入两个字符串。保证字符串只含有'0'~'9'字符
输出描述:
输出求和后的结果
二、输入输出示例:
![](https://img-blog.csdnimg.cn/20210820145726742.png)
三、思路:
因为字符串的位数过多,不能将字符串转换为整数,进行整数运算,会越界,所以需要逐位相加
四、代码:
#include<iostream>
using namespace std;
#include<string>
#include<cmath>
#include<stack>
int main()
{
string s1, s2;
while (cin >> s1 >> s2)
{
int temp1 = s1.size() - 1, temp2 = s2.size() - 1;
int i = 0, temp = 0, num = 0;
stack<int> s;
if (temp1 >= temp2)
//相加的次数应该等于连个字符串的最大位数+1(+1是因为最后一次相加可能向前进1)
{
temp = temp1;
}
else
{
temp = temp2;