本文共 882 字,大约阅读时间需要 2 分钟。
#include#include #include 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;}
转载地址:http://cdrn.baihongyu.com/