#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string sum(string a, string b)
{
if(a.length() < b.length())
{
string tmp = a;
a = b;
b = tmp;
}
string tmp = "";
for(int i = 0; i < a.length()-b.length(); i++)
tmp += "0";
b = tmp + b; //以上操作都是对齐操作。
int x;
bool flag = false;
string ans = "";
for(int i = a.length()-1; i >= 0; i--)
{
x = a[i] - '0' + b[i] - '0' + flag;
if(x >= 10)
{
flag = true;
ans += '0' + x - 10;
}
else
{
flag = false;
ans += x + '0';
}
}
if(flag) //注意这里,比如99 + 11, 和是3位,
ans += "1";
reverse(ans.begin(), ans.end());
return ans;
}
int main()
{
string str1, str2, ans;
int n;
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> str1 >> str2;
cout << "Case " << i << ":" << endl;
cout << str1 << " + " << str2 << " = " << sum(str1, str2) << endl;
if(i != n)
cout << endl;
}
return 0;
}
A + B Problem II HDU - 1002(简单string)
最新推荐文章于 2024-08-01 13:41:13 发布