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

GESP 2026年9月 C++六级 单选题 第12题

C++六级单选题2026年9月第12题

所属知识点:格雷编码 难度要求:— 考频:—

下面代码用反射法生成 n 位格雷编码,横线处应填写(  )。
vector<string> gray(int n) {
    vector<string> ans = {"0", "1"};
    for (int bit = 2; bit <= n; ++bit) {
        int oldSize = ans.size();
        for (int i = oldSize - 1; i >= 0; --i)
            ans.push_back(__________________________);
        for (int i = 0; i < oldSize; ++i)
            ans[i] = "0" + ans[i];
    }
    return ans;
}

正确答案:C

题目解析
反射法:把原序列逆序复制并加前缀 1 追加到后面,原序列各元素再加前缀 0。追加循环 i 从 oldSize-1 递减取 ans[i],应填 "1" + ans[i]。正确答案 C。

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

进入 GESPPASS 开始练习