CCF CSP-J 2019 入门级 C++ 语言试题及答案
    Monday, October 21, 2019
    10:28 AM

    |

    | | —- |

    | Tags: #微信 |

    CCF CSP-J 2019 入门级 C++ 语言试题及答案
    NOIP信息网 NOIP信息网
    10 月 19 日,首次 CSP-J/S 第一轮认证结束(点击查看详情)。
    CSP-J 试题及答案
    ![2019CCF 非 专 业 级 别 软 件 能 力 认 证 第 一 轮 (CSR 刁 ) 入 门 级 c + + 语 言 试 题 A 卷 认 证 时 间 · 2019 年 10 月 19 曰 14 、 30 一 1630 考 生 注 意 事 项 : 试 题 纸 共 有 9 贝 , 答 题 纸 共 有 《 页 , 满 分 [ 00 分 。 请 在 答 题 纸 上 仵 答 , 与 不 得 使 用 任 何 电 子 设 各 0 ] 计 算 器 、 手 机 、 电 子 词 典 等 ) 或 查 阅 仔 佝 书 耱 第 》 , 共 9 负 在 试 题 纸 上 的 一 律 无 效 。 资 料 。 单 项 选 择 匙 ( 共 巧 题 , 母 题 2 分 , · 中 国 的 国 家 顶 域 名 是 ( ) ch 共 计 30 分 : 每 题 有 且 仅 有 一 个 正 确 选 二 进 制 数 Il ] 00 1( 〕 01 《 )111 和 的 旧 I( 〕 H10 10 ] ] 旧 D010 闥 00 10H 匚 旧 0 旧 0 00 D00 一 个 320 整 型 变 量 占 用 ( 〕 个 字 节 。 & 旧 0 旧 0 D. 旧 0 旧 0 D. 0 ina 出 亍 逻 辑 与 运 算 的 结 罘 1001 001 t900 0011 A- 32 128 . 若 有 如 下 程 序 段 , 中 《 “ : · 怾 。 均 己 定 义 为 整 型 变 量 , 且 · : 均 已 赋 值 ( 。 大 于 0) b = 以 b* 〕 s = s 一 1 ; 则 与 上 述 程 咛 段 功 能 等 价 的 值 语 句 是 ( ) 设 有 ] 開 个 已 排 好 序 的 数 据 元 素 , 采 用 折 半 查 找 时 , 最 大 比 较 次 数 为 ( · 链 表 不 具 有 的 特 点 是 ( ) 羔 插 入 删 除 不 需 要 移 动 元 素 匚 所 需 窄 间 与 线 表 长 度 成 正 比 不 必 事 先 估 计 存 储 空 间 可 随 机 访 问 任 一 元 素 , 把 8 个 同 样 的 球 放 在 5 个 同 样 的 袋 子 里 , 允 许 有 的 袋 子 窄 着 不 放 , 问 其 有 多 少 种 不 同 的 分 洼 ? 〔 〕 提 示 . 如 果 8 个 哧 都 放 在 一 个 袋 . 了 里 , 无 论 是 琊 个 袋 子 , 都 只 算 同 一 种 分 法 CCF C 、 P420 ] 9 一 轮 C - 试 题 AO
    一 稞 二 叉 树 如 右 所 示 , 若 采 用 顺 序 存 储 结 构 , 即 用 一 维  数 组 元 素 存 储 该 二 叉 树 中 的 结 点 ( 根 结 点 的 下 标 为 《 , 若  某 结 点 的 下 标 为 i , 则 其 左 孩 子 位 于 下 标 2i 处 、 右 孩 子  位 于 下 标 2i+l 处 ) , 则 谚 数 组 的 最 大 下 标 至 少 为 ( ) 。  匚 巧  川 0 以 内 最 大 的 素 数 是 ( ) :  地 319 和 3 百 餉 最 大 公 约 数 是 ( 〕  0 29  0 . 新 学 期 开 学 了 · 小 胖 想 减 肥 “ 健 身 教 练 给 小 胖 制 定 了 两 个 训 练 方 案 · 方 案 一  每 次 连 续 跑 3 公 里 可 以 消 耗 3 佣 千 卡 ( 耗 时 半 小 时 ) ; 方 案 过 : 每 次 连 续 跑  5 公 里 可 以 消 耗 60D 千 卡 ( 耗 时 1 小 时 》 。 小 胖 每 周 周 一 到 周 些 能 抽 出 半 小  时 跑 步 , 周 五 到 周 日 能 抽 出 一 小 时 跑 步 。 另 外 , 教 练 建 议 小 群 每 周 最 多 跑 21  公 里 , 否 则 会 损 伤 膝 盖 。 请 问 如 果 小 胖 想 严 格 执 行 教 练 的 训 练 方 案 , 并 且 小  想 損 伤 膝 盖 , 每 盗 最 多 通 过 跑 步 消 耗 多 少 千 卡 ? ( ) 《  生 30D0  & 2500  匚 240D  《 2520  能 一 副 柙 险 抻 大 小 王 有 52 张 牌 , 四 种 花 色 . 每 种 花 色 13 假 设 从 这 52 张  牌 中 随 机 抽 取 [ 3 张 纸 牌 , 则 至 少 ( ) 张 牌 的 花 色 一 致 。  [ 3 . 一 些 数 字 可 颠 倒 过 来 看 , 例 如 0 、 I 、 8 蚯 倒 过 来 还 是 本 身 , 6 颠 倒 过 来 是  9 , 9 倒 过 来 看 还 是 其 他 数 字 颠 倒 过 来 都 不 构 成 数 字 。 类 似 的 , 一 些 多  位 数 也 可 以 颠 倒 过 来 看 , 比 如 ] 颠 倒 过 来 是 901, 假 设 某 个 城 市 的 车 膺 只  山 5 位 数 字 组 成 , 每 一 位 都 可 以 取 0 到 9 : 问 这 个 城 市 最 多 有 多 少 个 车 牌  倒 过 来 恰 好 还 是 原 来 的 车 牌 ? ( )  B. [ 25  14 . 假 设 一 稞 过 又 树 的 后 序 历 序 列 为 DGJHEBIFCA, 中 序 遍 历 序 列 为 D 跖 就 JA 口 F ,  则 其 前 序 遍 历 序 列 为 ( )  A. ABCDEFGHIJ & ABDEGBJCFI  匚 ABDEGJHCFI  15 . 以 下 哪 个 奖 项 是 计 算 机 科 学 领 域 的 最 高 奖 ? ( 〕  图 灵 奖  D.  D.  ABDEGflJFlC  普 利 策 奖  & 鲁 研 奖  CCF ESP-1 20 ] 9 弟  匚 诺 贝 尔 奖  一 轮 C - 诰 试 题 A 卷  第 2 贞 , 共 9 噢
    、 阅 读 程 序 ( 程 序 输 入 不 超 过 数 组 或 字 符 串 定 义 的 范 围 ; 判 断 题 正 确 填  错 误 煩 x ; 除 特 殊 说 明 外 , 判 断 题 1.5 分 , 选 择 题 3 分 , 共 计 40 分 )  轆 , 共 9 负  4  13  _include   _include   using namespace Std;  char st [ 1 開 的  int main() {  scanf("%s", st);  = strlen(st);  Int  干 or (int i 蕊  1 ; i < 蕊 n;  if (n % i -  匚 匚  1 ] ;  if ( ( > 。 @ a  st[i  . 1 ]  15 printf("Xs"  16 return 9 ;  17 }  判 断 题  1 ) 输 入 的 字 符 串 只 能 由 小 与 字 母 或 大 与 字 母 组 成 。 ( )  2 ) 若 将 第 8 行 的 与  , 程 序 运 行 时 会 发 生 错 误 。  3 ) 若 将 第 8 行 的 与 n ” 改 为 "i · i n ” , 程 运 行 结 果 小 会 改  4 ) 若 输 人 的 字 符 串 全 部 由 大 写 字 母 组 成 , 那 么 输 出 的 字 符 串 就 跟 輸 入 的 字  选 择 题  若 输 入 的 字 符 串 长 度 为 18 , 那 么 输 入 的 字 符 串 跟 输 出 的 字 符 串 相 比 ,  至 多 有 ( ) 个 字 符 不 同 。  6 ) 若 输 入 的 字 符 串 长 度 为 ( ) , 那 么 输 入 的 字 符 串 跟 输 出 的 字 符 串 相  比 , 至 多 有 36 个 字 符 不 同 。  1 開 000  性 ] 28  CCF ESP-J 20 ] 9 弟  一 轮 C - 试 题 AO
    4  13  16  17  2e  21  22  23  24  28  29  31  CCF  ttinclude  using namespace std;  int  int a[leo], b[laa];  6 int main() {  &n, 8m);  for (int i =  for (int i  int x, Y;  scan+(  if (a[x] < y  if (a[x] >  if (b[y] > B)  a(xl = y;  int ans e;  for (int i  if (atil  ++ans ;  if (b[i]  printf( "*din" ,  return e;  2) 27  a)  ans) ;  Elf, ans
    ![15 A. 211-2111 A. 2n-2 g. 211+2 2n 211-2 2n—2rn 4 le 11 16 17 18 19 21 22 23 24 25 26 27 28 29 include using namespace std; const int maxn int n; int int b[maxn]; int f(int l, int r, int depth) { if (1 r) return e; int min maxn, mink; for (int i if (min > a[i]) { min at i]; mink int Ires f(l, mink - 1, depth 1); int rres • f(mink + 1, r, depth + 1); return Ires + rres + depth b mink]; int main() cin n; for (int cin for (int cin > > cout f(e, n - return e; 1, 1) endl; CCF 2019 A
    ![2 ) 如 果 b 数 组 全 为 0 , 贝 刂 输 出 为 伍 ( 选 择 题 3 ) 当 n : 100 时 , 最 坏 情 况 下 , 与 第 ] 2 行 的 比 较 运 算 执 行 的 次 数 最 接 近 的 A. 5 〔 ℃ 0 A. 10D 当 到 0 时 , 轫 输 出 最 大 为 ( ) & 6D0 D. ] 00 4 ) 当 n 到 时 , 最 好 情 况 下 , 与 第 ] 2 行 的 比 较 运 算 执 行 的 次 数 最 接 近 的 匚 50 若 b 数 徂 满 是 , 对 任 意 O 孓 i ” , 都 有 时 刂 = i + 1 , 那 么 匚 384 司 ( 4 分 ) 当 100 时 , 若 b 数 组 满 足 , 对 仃 意 0 孓 家 < n 1 , 那 么 输 出 最 小 为 ( 〕 D. 600 , 都 有 一 ‘ & s89 匚 579 、 完 善 程 序 ( 单 选 韙 , 每 小 匙 3 分 , 共 计 30 分 ) ( 矩 阵 变 幻 ) 有 一 个 奇 幻 的 矩 阵 , 在 小 停 的 变 幻 , 其 变 幻 方 式 为 : 数 字 0 变 成 矩 阵 1 ] , 数 字 1 变 成 矩 阵 ] 。 最 初 该 厙 阵 只 有 一 个 元 素 0 , 变 幻 n 次 后 , 蓼 阵 会 变 成 什 么 ? 胃 ; 厙 阵 变 幻 2 次 后 : 例 如 , 示 阵 最 初 为 ; 阵 变 幻 1 次 后 输 入 一 行 一 个 不 超 过 0 的 正 整 数 n 。 输 出 变 幻 n 次 后 的 矩 阵 。 试 补 全 程 序 。 提 示 “ “ ” 表 示 二 进 制 左 移 运 算 符 , 例 如 01L < < 2 = (1100)2 , 而 “A” 表 示 二 进 制 异 或 运 算 符 , 它 将 两 个 参 与 运 算 的 数 中 的 每 个 对 应 的 二 进 制 位 一 一 进 行 比 较 , 若 两 个 二 进 制 位 相 同 , 则 运 算 结 果 的 对 应 二 进 制 位 为 e , 反 之 为 1 。 一 轮 c - 试 题 A 港 CCF ESP-J 20 ] 9 弟 第 卜 血 , 丿@负
    ![
    include using namespace std; int n; const int max size 1 10; 4 12 13 14 15 16 17 18 2e 21 22 23 24 25 28 29 3e 1) 2) x, y - step y - Step 3) int max_size]; void recursive(int x, int y, int n, if (n return; int Step I ee (n - I) recursive(@, n - 1, t); recursive(x, y step, n recursive(x + step, y, n - 1 recursive(O, n - int main() { recursive(e, e, 6, int size for (int i < size; ++i) { for (int j e; j < size; ++3) put int t) { return X - Step, X - Step - step, C. x - step, B. step x + step, y + step x, y - step CCF A
    c.  5)  A.  C.  n.  (3,4) ,  1 Sn •s; 107,1 1040  4  11  12  13  14  15  16  17  18  2e  21  _include  _include  using namespace std;  const int maxn Iøeoøøøe;  t maxs* løeea;  8 unsigned S [maxn], b[maxn],  unsigned cnt[maxs 1];  int main() {  res [maxn] ,  ord[maxn] ;  for (int i e; i < n; ++1)  8b[i]);  memset(cnt, sizeof(cnt));  for (int i e; i < n; ++1)  // c nt  for (int i e; i < maxs; ++1)  cnt[i + 1] cnt[i];  for (int i e; i < n; ++1)
    ![22 23 25 27 28 29 31 return e; 32 1) A. +4cnt[i] C. • maxs + b (ill bli] ccF memset(cnt, ø, sizeof(cnt)); for (int i e; i < n; ++1) for (int i e; i < maxs; ++i) cnt[i + 1] +2 cnt[i]; for (int i n - for (int i e; i < n; +4i) printf( “Xd Xd\n”, 9); 3) 0 A. D. 5) •jm”s + bli J] +4C0t i! = ord[iJ = ord[i] ord[i] ord[i] all],
    2019CCF 非 专 业 级 别 软 件 能 力 认 证 第 一 轮  (CSP-J) 入 门 级 参 考 答 案  11  第 1 题  第 2 题  第 3 题  12  13  14  30  15  30  10  40  6 ( 4 分 )
    回-  回•  흚回
    长按二维码识别 关注 NOIP 信息网
    在看
    已使用 Microsoft OneNote 2016 创建。