杭电OJ 1002
Posted kakagoult
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杭电OJ 1002相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <string> using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define SWAP(a,b) auto c=a;a=b;b=c; int main() { int n = 0, c; string a, b, ans; cin >> n; FOR(i, 1, n+1){ cin >> a >> b; cout << "Case " << i << ":" << endl; cout << a << " + " << b << " = "; // << a + b << endl << endl; if (a.size() < b.size()) { SWAP(a,b) } c = 0; ans = ""; FOR(j, 0, b.size()){ char a_num = a[a.size()-1 - j]; char b_num = b[b.size()-1 - j]; int res = a_num + b_num - 2 * ‘0‘ + c; c = res / 10; res %= 10; ans = char(res + ‘0‘) + ans; } FOR(j, b.size(), a.size()){ char a_num = a[a.size()-1 - j]; int res = a_num - ‘0‘ + c; c = res / 10; res %= 10; ans = char(res + ‘0‘) + ans; } cout << ans << endl; if(i != n) cout << endl; } return 0; }
需要注意的是,在最后一个 Case 的输出之后不需要再输出空行。
以上是关于杭电OJ 1002的主要内容,如果未能解决你的问题,请参考以下文章