GESP C++ 真题 · 逐题精解
首页 › C++五级真题 › 2026年9月 › 第10题

GESP 2026年9月 C++五级 判断题 第10题

C++五级判断题2026年9月第10题

所属知识点:综合应用(跨题型) 难度要求:掌握 考频:—

假设两个非负高精度整数分别存储在数组 a 和 b 中,且 a ≥ b 。数组采用低位在前的方式存储,即 a[0] 表示个位。下面代码中的 c 可以正确保存 a - b 的各位数字。
int borrow = 0;
for (int i = 0; i < len; ++i) {
    int t = a[i] - b[i] + borrow;
    if (t < 0) {
        t += 10;
        borrow = 1;
    } else {
        borrow = 0;
    }
    c[i] = t;
}

正确答案:错误(×)

题目解析
减法借位应当从本位减去借位,即 t = a[i] - b[i] - borrow;而代码写成 + borrow,一旦产生借位下一位就多加了 1,结果错误(如 20-11 会算成 29),故命题错误。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习