2021年CSP-J初赛真题及答案解析(阅读程序1)
2026/9/10 4:44:44 网站建设 项目流程

2021年CSP-J初赛真题及答案解析(阅读程序1)

第1题

#include<iostream>usingnamespacestd;intn;inta[1000];intf(intx){intret=0;for(;x;x&=x-1)ret++;returnret;}intg(intx){returnx&-x;}intmain(){cin>>n;for(inti=0;i<n;i++)cin>>a[i];for(inti=0;i<n;i++)cout<<f(a[i])+g(a[i])<<' ';cout<<endl;return0;}

判断题(正确填 √,错误填 ×,每题 1.5 分)

  1. 输入的 n 等于 1001 时,程序不会发生下标越界。
    答案:×
    解析:数组a[1000]的有效下标为0 ~ 999。当n = 1001时,循环i < n会访问a[1000],发生下标越界。

  2. 输入的 a[i] 必须全为正整数,否则程序将陷入死循环。
    答案:×
    解析f(x)x &= x - 1对负数也能在有限步内结束(最终因溢出变为 0),不会死循环。例如-65536可正常结束。

  3. 当输入为5 2 11 9 16 10时,输出为3 4 3 17 5
    答案:×
    解析:各数计算如下:

    • 2 → popcount(2)=1, lowbit(2)=2, 和=3
    • 11 → popcount(11)=3, lowbit(11)=1, 和=4
    • 9 → popcount(9)=2, lowbit(9)=1, 和=3
    • 16 → popcount(16)=1, lowbit(16)=16, 和=17
    • 10 → popcount(10)=2, lowbit(10)=2, 和=4
      实际输出应为3 4 3 17 4,末尾为 4 而非 5。
  4. 当输入为1 511998时,输出为18
    答案:√
    解析511998的十六进制为0x7CFFE,二进制中 1 的个数为 16,最低位 1 对应值为 2,总和为16 + 2 = 18

  5. 将源代码中 g 函数的定义(14~17 行)移到 main 函数的后面,程序可以正常编译运行。
    答案:×
    解析:若g的定义在main之后,main中调用g时未声明,编译会报错(函数未找到)。


更多内容请关注专栏:信奥赛C++普及组csp-j初赛&复赛真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转


【秘籍汇总】(完整csp信奥赛C++学习资料):

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转

2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

https://edu.csdn.net/course/detail/41081 点击跳转

3、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转

4、csp信奥赛冲刺一等奖有效刷题题解:

信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:
https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

信奥赛C++普及组csp-j初赛&复赛真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转

5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转


GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询