组合题6 个小题
已作答 0 / 6
1#include <algorithm>2#include <iostream>3#include <string>4using namespace std;5int a[100007], b[100007], c[100007], carry[100007];6string input_str;7int a_len, b_len;8int main() {9 cin >> input_str;10 a_len = input_str.size();11 for (int i = 0; i < a_len; i++) {12 a[i] = input_str[a_len - i - 1] - '0';13 }14 cin >> input_str;15 b_len = input_str.size();16 for (int i = 0; i < b_len; i++) {17 b[i] = input_str[b_len - i - 1] - '0';18 }19 carry[0] = 0;20 for (int i = 0; i < max(a_len, b_len) + 1; i++) {21 c[i] = a[i] + b[i] + carry[i];22 if (c[i] >= 10) {23 carry[i + 1] = 1;24 c[i] -= 10;25 } else {26 carry[i + 1] = 0;27 }28 }29 for (int i = max(a_len, b_len); i >= 0; i--) {30 cout << c[i];31 }32 cout << endl;33 return 0;34}本题输入的两个数均为非负整数,位数不超过 100000,可能包含前导零。
将第 22 行的 if (c[i] >= 10) 改为 if (c[i] > 10) 后,当输入为 95 15 时,输出为( )。