#3405. [GESP202406 五级 C++] 第 12 题

[GESP202406 五级 C++] 第 12 题

要实现一个高精度减法函数,则下面代码中加划线应该填写的代码为( )。

//假设a和b均为正数,且a表示的数比b大
vector<int> minus(vector<int> a, vector<int> b) {
    vector<int> c;
    int len1 = a.size();
    int len2 = b.size();
    int i, t;

    for (i = 0; i < len2; i++) {
        if (a[i] < b[i]) {  //借位
            _____________ // 在此处填入代码
            a[i] += 10;
        }
        t = a[i] - b[i];
        c.push_back(t);
    }
    for (; i < len1; i++)
        c.push_back(a[i]);

    len3 = c.size();
    while (c[len3 - 1] == 0) { //去除前导0
        c.pop_back();
        len3--;
    }
    return c;
}

{{ select(1) }}

  • a[i + 1]--;
  • a[i]--;
  • b[i + 1]--;
  • b[i]--;