← 查看本卷题目
组合题6 个小题
已作答 0 / 6
#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,可能包含前导零。

第 26 题单选题原卷 3 分

将第 22 行的 if (c[i] >= 10) 改为 if (c[i] > 10) 后,当输入为 95 15 时,输出为( )。

填写答案