GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2025年3月 › 第15题

GESP 2025年3月 C++五级 单选题 第15题

C++五级单选题2025年3月第15题

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

小杨编写了一个如下的高精度乘法函数,则横线上应填写的代码为( )。
vector<int> multiply(vector<int>& a, vector<int>& b) {
int m = a.size(), n = b.size();
vector<int> c(m + n, 0);
// 逐位相乘,逆序存储
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
c[i + j] += a[i] * b[j];
}
}
// 处理进位
int carry = 0;
for (int k = 0; k < c.size(); ++k) {
________________________________     // 在此处填入代码
c[k] = temp % 10;
carry = temp / 10;
}
while (c.size() > 1 && c.back() == 0)
c.pop_back();
return c;
}

正确答案:B

题目解析

高精度乘法处理进位:int temp=c[k]+carry,选 B。……

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

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

进入 GESPPASS 开始练习