题目编号
语言
全部语言
等级
全部等级
知识点
选择知识点 (0)
找到 1260 道单选题
EXY-SC-1325
第 176 题
以下代码计算两个正整数的最大公约数 (GCD),横线上应填写( )。
int gcd0(int a, int b) {
    if (a < b) {
        swap(a, b);
    }
    while(b != 0) {
        int temp = a % b;
        a = b;
        b = temp;
    }
    return ______;
}
A
b
B
a
C
temp
D
a * b
语言: C++
GESP真题 五级
2025.9
单选题号: 5
EXY-SC-1324
第 177 题
函数 isPerfectNumber 判断一个正整数是否为完全数(该数是否即等于它的真因子之和),则横线上应填写( )。一个正整数 $n$ 的真因子包括所有小于 $n$ 的正因子,如 $28$ 的真因子为 $1, 2, 4, 7, 14$。
bool isPerfectNumber(int n) {
    if(n <= 1) return false;
    int sum = 1;
    for(int i = 2; ______; i++) {
        if(n % i == 0) {
            sum += i;
            if(i != n/i) sum += n/i;
        }
    }
    return sum == n;
}
A
i <= n
B
i*i <= n
C
i <= n/2
D
i < n
语言: C++
GESP真题 五级
2025.9
单选题号: 4
EXY-SC-1323
第 178 题
函数 hasCycle 采用 Floyd 快慢指针法判断一个单链表中是否存在环,链表的头节点为 head,即用两个指针在链表上前进:slow 每次走 1 步,fast 每次走 2 步,若存在环,fast 终会追上 slow(相遇);若无环,fast 会先到达 nullptr,则横线上应填写( )。
struct Node {
    int val;
    Node *next;
    Node(int x) : val(x), next(nullptr) {}
};
 
bool hasCycle(Node *head) {
    if (!head || !head->next)
        return false;
    Node* slow = head;
    Node* fast = head->next;
    while (fast && fast->next) {
        if (slow == fast) return true;
        ___________________ // 在此处填入代码
    }
    return false;
}
A
slow = slow->next;
fast = fast->next->next;
B
slow = fast->next;
fast = slow->next->next;
C
slow = slow->next;
fast = slow->next->next;
D
slow = fast->next;
fast = fast->next->next;
语言: C++
GESP真题 五级
2025.9
单选题号: 3
EXY-SC-1322
第 179 题
函数 removeElements 删除单链表中所有结点值等于 val 的结点,并返回新的头结点。其中链表头结点为 head,则横线处填写( )。
// 结点结构体
struct Node {
    int val;
    Node* next;
    Node() : val(0), next(nullptr) {}
    Node(int x) : val(x), next(nullptr) {}
    Node(int x, Node* next) : val(x), next(next) {}
};
 
Node* removeElements(Node* head, int val) {
    Node dummy(0, head);      // 睡结点,统一处理头结点
    Node* cur = &dummy;
    while (cur->next != nullptr) {
        if (cur->next->val == val) {
            ________________ // 在此处填入代码
        } else {
            cur = cur->next;
        }
    }
    return dummy.next;
}
A
Node* del = cur;
cur = del->next;
delete del;
B
Node* del = cur->next;
cur->next = del;
delete del;
C
Node* del = cur->next;
cur->next = del->next;
delete del;
D
Node* del = cur->next;
delete del;
cur->next = del->next;
语言: C++
GESP真题 五级
2025.9
单选题号: 2
EXY-SC-1321
第 180 题

以下哪种情况使用链表比数组更合适?

A

数据量固定且读多写少

B

需要频繁在中间或开头插入、删除元素

C

需要高效随机访问元素

D

存储空间必须连续

语言: C++
GESP真题 五级
2025.9
单选题号: 1
当前页显示 176 - 180 ,共 1260 道单选题