组合题
#include <iostream>using namespace std; int n;int a[1000]; int f(int x){    int ret = 0;    for (; x; x &= x - 1) ret++;    return ret;} int g(int x){    return x & -x;} int main(){    cin >> n;    for (int i = 0; i < n; i++) cin >> a[i];    for (int i = 0; i < n; i++)        cout << f(a[i]) + g(a[i]) << ' ';    cout << endl;    return 0;}
第 16 题单选题原卷 1.5 分

输入的 nn 等于 10011001 时,程序不会发生下标越界。( )

填写答案
第 17 题单选题原卷 1.5 分

输入的 a[i]a[i] 必须全为正整数,否则程序将陷入死循环。( )

填写答案
第 18 题单选题原卷 1.5 分

当输入为 5 2 11 9 16 10 时,输出为 3 4 3 17 5。( )

填写答案
第 19 题单选题原卷 1.5 分

当输入为 1 511998 时,输出为 18。( )

填写答案
第 20 题单选题原卷 1.5 分

将源代码中 g 函数的定义(14∼1714\sim 17 行)移到 main 函数的后面,程序可以正常编译运行。( )

填写答案
第 21 题单选题原卷 3 分

当输入为 2 -65536 2147483647 时,输出为( )。

填写答案