#359. CSP2021PJ-16

CSP2021PJ-16

  1. (阅读程序)
#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) //第14行
{
    return x & -x;
} //第17行

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;
}

(判断题)

输入的 n 等于 1001 时,程序不会发生下标越界( )

{{ select(1) }}

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

{{ select(2) }}

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

{{ select(3) }}

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

{{ select(4) }}

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

{{ select(5) }}

(选择题)

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

{{ select(6) }}

  • “65532 33”
  • “65552 32”
  • “65535 34”
  • “65554 33”