#include<iostream>
#include<string>
using namespace std;string sum(string &s1, string &s2) {
if (s1 == ""&&s2 == "")
return "0";
if (s1 == "")
return s2;
if (s2 == "")
return s1;
string max, min;
if (s1.length() > s2.length()) {
max = s1;
min = s2;
}
else {
max = s2;
min = s1;
}
int i, j;
int maxlen = max.length();
int minlen = min.length();
for(i = maxlen - 1, j = minlen - 1; j >= 0; j--, i--) {
max[i] = max[i] + min[j] - '0'; //min[j]-'0'相当于对max数字进行移动
}
for (i = maxlen - 1; i > 0; i--) {
if (max[i] > '9') {
max[i] -= 10;
max[i - 1] += 1;
}
}
if (max[0] > '9') {
max[0] = max[0] - 10;
max = '1' + max; //相当于拼接,前加就前接,后接就后加
}
return max;
}int main() {
int num, i = 1;
cin >> num;
int ss = num;
while (num--) {
string num1,num2;
cin >> num1 >> num2;
cout << "Case " << i<< ":" << endl;
cout << num1 <<" + "<< num2 << " = " << sum(num1, num2) << endl;
if( i<ss )
cout << endl;
i++;
}
return 0;
}
hduoj100
最新推荐文章于 2020-06-12 12:14:48 发布