题型:组合题
01 #include <iostream>
02 using namespace std;
03
04 int n;
05 int a[1000];
06
07 int f(int x)
08 {
09 int ret = 0;
10 for (; x; x &= x - 1) ret++;
11 return ret;
12 }
13
14 int g(int x)
15 {
16 return x & -x;
17 }
18
19 int main()
20 {
21 cin >> n;
22 for (int i = 0; i < n; i++) cin >> a[i];
23 for (int i = 0; i < n; i++)
24 cout << f(a[i]) + g(a[i]) << ' ';
25 cout << endl;
26 return 0;
27 }
(1).输入的 n 等于 1001 时,程序不会发生下标越界。( )
| A.正确 | B.错误 |
输入的 a[i] 必须全为正整数,否则程序将陷入死循环。( )
| A.正确 | B.错误 |
当输入为“1 511998”时,输出为“18”。( )
| A.正确 | B.错误 |
当输入为“5 2 11 9 16 10”时,输出为“3 4 3 17 5”。( )
| A.正确 | B.错误 |
当输入为“2 -65536 2147483647”时,输出为( )。
| A. “65532 33” |
B. “65552 32” |
| C. “65535 34” |
D. “65554 33” |
将源代码中 g 函数的定义(14-17 行)移到 main 函数的后面,程序可以正常编译运行。( )
| A.正确 | B.错误 |
更新时间:2022-11-24 16:32:28
|
【知识点】
CCF非专业级别软件能力认证CSP-J/入门级
抱歉! 您未登录, 不能查看答案和解析点击登录











