#include <algorithm>#include <iostream>#include <string>using namespace std;int a[100007], b[100007], c[100007], carry[100007];string input_str;int a_len, b_len;int main() { cin >> input_str; a_len = input_str.size(); for (int i = 0; i < a_len; i++) { a[i] = input_str[a_len - i - 1] - '0'; } cin >> input_str; b_len = input_str.size(); for (int i = 0; i < b_len; i++) { b[i] = input_str[b_len - i - 1] - '0'; } carry[0] = 0; for (int i = 0; i < max(a_len, b_len) + 1; i++) { c[i] = a[i] + b[i] + carry[i]; if (c[i] >= 10) { carry[i + 1] = 1; c[i] -= 10; } else { carry[i + 1] = 0; } } for (int i = max(a_len, b_len); i >= 0; i--) { cout << c[i]; } cout << endl; return 0;}本题输入的两个数均为非负整数,位数不超过 100000,可能包含前导零。
当输入为 123 456 时,程序输出为 0579。( )
假设输入的两个数均不含前导零,则程序输出的结果也一定不会含有前导零。( )
将第 21 行改为 c[i] = a[i] + b[i]; 后,程序输出的结果一定比原来的结果小。( )
当输入为 12345 678 时,输出为( )。
将第 22 行的 if (c[i] >= 10) 改为 if (c[i] > 10) 后,当输入为 95 15 时,输出为( )。
假设输入的两个数均为 位正整数(不含前导零),且它们的和小于 ,则程序输出的字符串一定满足( )。