历年CSP-J初赛真题解析 | 2016年CSP-J初赛
附上汇总帖历年CSP-J初赛真题解析 | 汇总单项选择第1题以下不是微软公司出品的软件是 A.PowerpointB.WordC.ExcelD.Acrobat Reader【答案】D【解析】A、B、C都是属于微软的Office软件。D选项是Adobe公司的读取PDF的软件第2题如果256种颜色用二进制编码来表示至少需要 位。A.6B.7C.8D.9【答案】C【解析】2 8 256 2^825628256第3题以下不属于无线通信技术的是 。A.蓝牙B.WifiC.GPRSD.以太网【答案】D【解析】A、B都是无线技术C选项是2G网络中的数据传输技术D选项是有线通信技术第4题以下不是CPU生产厂商的是 。A.IntelB.AMDC.MicrosoftD.IBM【答案】C【解析】同2015年Intel和AMD都是CPU生产厂商Microsoft只生产软件。IBM生产服务器的CPU第5题以下不是存储设备的是 。A.光盘B.磁盘C.固态硬盘D.鼠标【答案】D【解析】计算机常识第6题如果开始时计算机处于小写输入状态现在有一只小老鼠反复按照CapsLock、字母键A、字母键S和字母键D的顺序循环按键 即CapsLock、A、S、D、CapsLock、A、S、D、…屏幕上输出的第81个字符是字母 。A.AB.SC.DD.a【答案】C【解析】ASDasd一循环81%63应该是第三个字符D第7题二进制数00101100和00010101的和 。A.00101000B.01000001C.01000100D.00111000【答案】B【解析】同前几年的题注意11要进位第8题与二进制小数0.1相等的八进制数是 。A.0.8B.0.4C.0.2D.0.1【答案】B【解析】同2015年先转成十进制再转成八进制( 0.1 ) 2 ( 0.5 ) 10 ( 0.4 ) 8 (0.1)_2(0.5)_{10}(0.4)_8(0.1)2​(0.5)10​(0.4)8​第9题以下是32位机器和64位机器的区别是 。A.显示器不同B.硬盘大小不同C.寻址空间不同D.输入法不同【答案】C【解析】指的是CPU最大处理位数即内存最大寻址空间到2 32 2^{32}232位4GB。第10题以下关于字符串的判定语句中正确的是 。A.字符串是一种特殊的线性表B.串的长度必须大于零C.字符串不可以用数组来表示D.空格字符组成的串就是空串【答案】A【解析】字符串的本质就是字符数组C错误。B选项错可以是空串。空格字符串是空格组成的字符串第11题一棵二叉树如右图所示若采用顺序存储结构即用一维数组元素存储该二叉树中的结点根结点的下标为1若某结点的下标为i则其左孩子位于下标2i处、右孩子位于下标(2i1)处则图中所有结点的最大下标为 。A.6B.10C.12D.15【答案】D【解析】左儿子是2i右儿子是2i1最大下标是15第12题若有如下程序段其中s、a、b、c均已定义为整型变量且a、c均已赋值c大于0。sa;for(b1;bc;b)ss1;则与上述程序段修改s值的功能等价的赋值语句是 。A.sabB.sacC.sscD.sbc【答案】B【解析】2013年原题c个1就是c所以等于ac第13题有以下程序#includeiostreamusingnamespacestd;intmain(){intk4,n0;while(nk){n;if(n%3!0)continue;k--;}coutk,nendl;return0;}程序运行后输出的结果是 。A.2,2B.2,3C.3,2D.3,3【答案】D【解析】n4初始04第1次0/14第2次1/24第3次2/34/3输出3和3第14题给定含有n个不同的数的数组Lx 1 , x 2 , … , x n x_1, x_2,\dots, x_nx1​,x2​,…,xn​。如果L中存在x i x_ixi​(1in)使得x 1 x 2 ⋯ x i − 1 x i x i 1 ⋯ x n x_1\lt x_2\lt \dots \lt x_{i-1}\lt x_i\gt x_{i1}\gt \dots \gt x_nx1​x2​⋯xi−1​xi​xi1​⋯xn​则称L是单峰的并称x i x_ixi​是 L 的“峰顶”。现在已知L是单峰的请把a-c三行代码补全到算法中使得算法正确找到L的峰顶。a.Search(k1, n)b.Search(1, k-1)c.return L[k]Search(1,n)1.k←[n/2]2.ifL[k]L[k-1]andL[k]L[k1]3.then ____4.elseifL[k]L[k1]andL[k]L[k1]5.then ____6.else____正确的填空顺序是 。A.cabB.cbaC.abcD.bac【答案】A【解析】第2句表示如果找到了封顶那么第3句就应该返回封顶。第4句表示第k点落在峰顶的左半边所以需要从右边即[k1,n]进行查找第15题设简单无向图G有16条边且每个顶点的度数都是2则图G有 个顶点。A.10B.12C.8D.16【答案】D【解析】设顶点个数为x个则有2x/2条边第16题有7个一模一样的苹果放到3个一样的盘子中一共有 种放法。A.7B.8C.21D.3 7 3^737【答案】B【解析】之前8个球放5个袋子也是类似的使用枚举方法7个苹果放在一个盘子中17 0 07个苹果放在二个盘子中36 1 0、5 2 0、4 3 07个苹果放在三个盘子中45 1 1、4 2 1、3 3 1、3 2 2第17题下图表示一个果园灌溉系统有A、B、C、D四个阀门每个阀门可以打开或关上所有管道粗细相同以下设置阀门的方法中可以让果树浇上水的是 。A.B打开其他都关上B.AB都打开CD都关上C.A打开其他都关上D.D打开其他都关上【答案】A【解析】方案一打开B关上A方案二C、D打开第18题Lucia和她的朋友以及朋友的朋友都在某社交网站上注册了账号。下图是他们之间的关系图两个人之间有边相连代表这两个人是朋友没有边相连代表不是朋友。这个社交网站的规则是如果某人A向他她的朋友B分享了某张照片那么B就可以对该照片进行评论如果B评论了该照片那么他她的所有朋友都可以看见这个评论以及被评论的照片但是不能对该照片进行评论除非A也向他她分享了该照片。现在Lucia已经上传了一张照片 但是她不想让Jacob看见这张照片 那么她可以向以下朋友 分享该照片。A.Dana Michael EveB.Dana Eve MonicaC.Michael Eve JacobD.Micheal Peter Monica【答案】A【解析】不能分享给Jacob也不能分享给Jacob的朋友Lena、Peter、Monicat、Charles所以BCD都是错误的。第19题周末小明和爸爸妈妈三个人一起想动手做三道菜。小明负责洗菜、爸爸负责切菜、妈妈负责炒菜。假设做每道菜的顺序都是先洗菜10分钟然后切菜10分钟最后炒菜10分钟。那么做一道菜需要30分钟。注意两道不同的菜的相同步骤不可以同时进行。例如第一道菜和第二道的菜不能同时洗也不能同时切。那么做完三道菜的最短时间需要 分钟。A.90B.60C.50D.40【答案】C【解析】0-10小明洗菜110-20小明洗菜2爸爸切菜120-30小明洗菜3爸爸切菜2妈妈炒菜130-40爸爸切菜3妈妈炒菜240-50妈妈炒菜3第20题参加NOI比赛 以下不能带入考场的是 。A.钢笔B.适量的衣服C.U盘D.铅笔【答案】C【解析】同2014年常识问题求解第21题从一个4×4的棋盘不可旋转中选取不在同一行也不在同一列上的两个方格共有种 方法。【答案】72【解析】选第一个格子16个选第二个格子9个16 * 9 / 2 72第22题约定二叉树的根节点高度为1。一棵结点数为2016的二叉树最少有 个叶子结点一棵结点数为2016的二叉树最小的高度值是 。【答案】1 11【解析】如果二叉树是2016层那就只有1个叶子结点。高度最小属于完全二叉树2 n − 1 − 1 2^{n-1}-12n−1−1完全二叉树结点数2 n − 1 2^{n}-12n−1n11阅读程序#includeiostreamusingnamespacestd;intmain(){intmax,min,sum,count0;inttmp;cintmp;if(tmp0)return0;maxminsumtmp;count;while(tmp!0){cintmp;if(tmp!0){sumtmp;count;if(tmpmax)maxtmp;if(tmpmin)mintmp;}}coutmax, min, sum/countendl;return0;}第23题输入1 2 3 4 5 6 0 7输出 【答案】6, 1, 3【解析】第15行表示读到0就结束所以最后一个输入7没有读进来。运行到最后max6min1sum21count6。另外需要注意格式,后面有一个空格#includeiostreamusingnamespacestd;intmain(){inti100,x0,y0;while(i0){i--;xi%8;if(x1)y;}coutyendl;return0;}第24题输出 【答案】13【解析】题目是求1~99之间有多少个数模8余1一共13个。#includeiostreamusingnamespacestd;intmain(){inta[6]{1,2,3,4,5,6};intpi0;intpj5;intt,i;while(pipj){ta[pi];a[pi]a[pj];a[pj]t;pi;pj--;}for(i0;i6;i)couta[i],;coutendl;return0;}第25题输出 【答案】6,5,4,3,2,1,【解析】双指针模拟注意最后“1”后面还有一个“”#includeiostreamusingnamespacestd;intmain(){inti,length1,length2;string s1,s2;s1I have a dream.;s2I Have A Dream.;length1s1.size();length2s2.size();for(i0;ilength1;i)if(s1[i]as1[i]z)s1[i]-a-A;for(i0;ilength2;i)if(s2[i]as2[i]z)s2[i]-a-A;if(s1s2)coutendl;elseif(s1s2)coutendl;elsecoutendl;return0;}第26题输出 【答案】【解析】第12行至第13行就是将小写字母转为大写字母。s1和s2最后都转为I HAVE A DREAM.判断为相等完善程序读入整数请完善下面的程序使得程序能够读入两个int范围内的整数并将这两个整数分别输出每行一个。输入的整数之间和前后只会出现空格或者回车。输入数据保证合法。例如输入123-789输出123-789#includeiostreamusingnamespacestd;intreadint(){intnum0;// 存储读取到的整数intnegative0;// 负数标识charc;// 存储当前读取到的字符ccin.get();while((c0||c9)c!-)c__1__;if(c-)negative1;else__2__;ccin.get();while(__3__){__4__;ccin.get();}if(negative1)__5__;returnnum;}intmain(){inta,b;areadint();breadint();coutaendlbendl;return0;}第27题1处应填 。【答案】c cin.get()【解析】在第1个有效数字或’-前可能出现很多非法字符需要跳过第28题2处应填 。【答案】num c - ‘0’【解析】如果不是负数则第1个字符就是数字本身第29题3处应填 。【答案】 c‘0’ c‘9’【解析】如果第15行读入的是个数字则继续读入第30题4处应填 。【答案】num num * 10 c-‘0’【解析】计算num第31题5处应填 。【答案】return -num【解析】返回负数郊游活动有n名同学参加学校组织的郊游活动已知学校给这n名同学的郊游总经费为A元与此同时第i位同学自己携带了Mi元。为了方便郊游活动地点提供B(≥n)辆自行车供人租用。租用第j辆自行车的价格为Cj元每位同学可以使用自己携带的钱或者学校的郊游经费为了翻遍账务管理每位同学只能为自己租用自行车且不会借钱给他人他们想知道最多有多少位同学能够租用到自行车。本题采用二分法。对于区间[1,r]我们取中间点mid并判断租用自行车的人数能否达到mid。判断的过程是利用贪心算法实现的。#includeiostreamusingnamespacestd;#defineMAXN1000000intn,B,A,M[MAXN],C[MAXN],l,r,ans,mid;boolcheck(intnn){intcount0,i,j;i__1__;j1;while(in){if(__2__)countC[j]-M[i];i;j;}return__3__;}voidsort(inta[],intl,intr){inti1,jr,xa[(lr)/2],y;while(ij){while(a[i]x)i;while(a[j]x)j--;if(ij){ya[i];a[i]a[j];a[j]y;i;j--;}}if(ir)sort(a,i,r);if(lj)sort(a,l,j);}intmain(){inti;cinnBA;for(i1;in;i)cinM[i];for(i1;iB;i)cinC[i];sort(M,1,n);sort(C,1,B);l0;rn;while(lr){mid(lr)/2;if(__4__){ansmid;lmid1;}else{r__5__;}}coutansendl;return0;}第32题第一空填 【答案】n-nn1【解析】从第nn个人到第n个人是否可以租车第33题第二空填 【答案】C[j]M[i]【解析】如果个人的前不足以支付则用总经费第34题第三空填 【答案】count A【解析】如果总花费小于等于总经费就是可以的第35题第四空填 【答案】check(mid)【解析】需要判断mid这个值是否成功第36题第五空填 【答案】mid-1【解析】二分模板对于false的情况r mid - 1缩小区间

相关新闻

大阪自由行住宿攻略:难波与日本桥黄金选址秘籍

大阪自由行住宿攻略:难波与日本桥黄金选址秘籍

那天晚上十一点多,我刚从难波站走出来,拖着行李箱,手机地图上标记的民宿位置就在日本桥附近。按照房东给的路线,穿过几条小巷,拐角处看到一个不起眼的黑色小门,旁边挂着一个小小的木质招牌——就是这里了。…

2026/10/16 2:20:32 阅读更多 →
现代硬件工程师全栈技术栈解析:从嵌入式开发到AIoT实战

现代硬件工程师全栈技术栈解析:从嵌入式开发到AIoT实战

最近在技术圈里,一个看似"传统"的话题重新引发了热议:硬件开发,特别是嵌入式方向,是否还值得投入?当大家都在追逐AI大模型、云原生这些热门技术时,硬件工程师的价值在哪里?上周末&…

2026/10/12 16:54:07 阅读更多 →
嵌入式AI医疗设备开发指南:从ESP32平台到完整系统设计

嵌入式AI医疗设备开发指南:从ESP32平台到完整系统设计

去年秋天,我在一所高校的实验室里看到几个学生围着一块开发板争论不休。他们正在调试一个基于摄像头的手势识别项目,识别率时好时坏。有人建议增加模型复杂度,有人想调整图像预处理参数,还有人怀疑是硬件性能瓶颈。这个场景让我想…

2026/10/16 7:54:29 阅读更多 →

最新新闻

水性醛酮树脂CT系列:提升漆膜光泽与硬度的功能助树脂

水性醛酮树脂CT系列:提升漆膜光泽与硬度的功能助树脂

做水性涂料这几年,我听得最多的反馈就三个:光泽差一点,硬度软一点,色浆放两天就返粗。这三个问题单拎出来都不算大,但放到工业漆、木器漆和油墨上,就是客户整批次退货的理由,严重一点直接丢订单…

2026/10/18 3:52:22 阅读更多 →
XERJ Autoindex + MCP 在 Windows 上的端到端实战:从安装、建索引到 Agent 检索的一站式闭环

XERJ Autoindex + MCP 在 Windows 上的端到端实战:从安装、建索引到 Agent 检索的一站式闭环

人工智能搜索引擎本地部署后端MCP 服务 【免费下载链接】xerj XERJ is the new way for AI to search data. Its autoindex capability activates agents to know your data without the token waste of grep and sed. One command indexes code, docs, logs and PDFs for sear…

2026/10/18 3:52:22 阅读更多 →
JavaScript原生四则运算计算器:从字符串拼接陷阱到精度控制

JavaScript原生四则运算计算器:从字符串拼接陷阱到精度控制

1. 这不是计算器Demo,而是前端交互逻辑的“最小可行验证”你有没有遇到过这样的场景:在表单里填两个数字,点个按钮,结果却卡在页面上不动?或者更糟——输入1和2,显示出来的却是"12"?这…

2026/10/18 3:52:22 阅读更多 →
JS高德地图设备图标实战:实时位置渲染与Marker管理优化

JS高德地图设备图标实战:实时位置渲染与Marker管理优化

1. 从一张“会说话的地图”说起:设备图标到底在解决什么问题做过物联网监控大屏、车辆调度后台或者共享设备管理平台的人,大概率都绕不开一个需求:把一堆设备的实时位置,用一张地图直观地铺出来。而“基于JS高德地图设置设备图标”…

2026/10/18 3:52:22 阅读更多 →
Unity协程底层原理与生命周期深度解析

Unity协程底层原理与生命周期深度解析

1. 协程不是“多线程”,但比多线程更难讲清楚刚接触 Unity 的开发者,十有八九会在协程(Coroutine)上栽第一个跟头。我见过太多人把StartCoroutine当成“开个后台线程”来用——结果发现 UI 还是卡、计时器不准、对象销毁后协程还在…

2026/10/18 3:52:22 阅读更多 →
从零跑通开源大模型:选型、环境、加载与推理全指南

从零跑通开源大模型:选型、环境、加载与推理全指南

很多人第一次看到“初始大模型”这个说法,第一反应是:是不是得先啃下一堆数学公式和论文?我在刚开始接触时也是这么想的,后来才发现,初始大模型这件事拆开来看,无非是两条线:一条是认知线&#…

2026/10/18 3:51:21 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →