题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1001
Hint: 由于此题数据比较弱,直接通过string和long long 转换即可得到结果。要注意的一个地方是两数相加完成,
转换成string后, 要去掉尾部的所有0,再反转字符串,就是 题目的结果。
#include<iostream>
#include<fstream>
#include<vector>
#include<string>
#include<map>
#include<iterator>
#include<algorithm>
#include<numeric>
#include<cmath>
#include<sstream>
using namespace std;
int main()
{
#ifdef ONLINE_JUDGE
#else
freopen("D:\\in.txt", "r", stdin);
freopen("D:\\out.txt", "w", stdout);
#endif // ONLINE_JUDEG
int n(0);
cin >> n;
string str1, str2;//第一个数和第二个数
string str;
long long a(0), b(0),sum(0);//字符串转换成整型后的整数
for (int i = 0; i < n; i++)
{
cin >> str1 >> str2;
reverse(str1.begin(),str1.end());
reverse(str2.begin(), str2.end());
stringstream os;
//用流类stringstream做中间媒介完成基本数据类型与字符串的相互转化
os << str1;
os >> a;
os.clear();
os << str2;
os >> b;
os.clear();
sum = a + b;
os << sum;
os >> str;
os.clear();
int k(0);
while (1)//去掉尾部的所有0
{
k = str.size() - 1;
if ('0' == str[k])
{
str.erase(k);
}
else
{
break;
}
}
reverse(str.begin(), str.end());
cout << str << endl;
}
return 0;
}