#5524. CSP 2020 普级级第一轮 题解

CSP 2020 普级级第一轮 题解

一、单选题(每题 2 分,共 30 分)

{{ select(1) }}

{{ select(2) }}

{{ select(3) }}

{{ select(4) }}

{{ select(5) }}

{{ select(6) }}

{{ select(7) }}

{{ select(8) }}

{{ select(9) }}

{{ select(10) }}

{{ select(11) }}

{{ select(12) }}

{{ select(13) }}

{{ select(14) }}

{{ select(15) }}

二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 √,错误填 ⨉ ;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)

  1. 阅读程序第 1 题 本题共 12.5 分

判断题

16.1

输入的字符串应当只由大写字母组成,否则在访问数组时可能越界。( )

{{ select(161) }}

  • 正确
  • 错误

16.2

若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样。()

{{ select(162) }}

  • 正确
  • 错误

16.3

将第 12 行的 i < 26 改为 i < 16,程序运行结果不会改变。( )

{{ select(163) }}

  • 正确
  • 错误

16.4

将第 26 行的 i < 26 改为 i < 16,程序运行结果不会改变。( )

{{ select(164) }}

  • 正确
  • 错误

选择题

16.5

若输出的字符串为 ABCABCABCA,则下列说法正确的是( )。

{{ select(165) }}

  • 输入的字符串中既有 S 又有 P
  • 输入的字符串中既有 S 又有 B
  • 输入的字符串中既有 A 又有 P
  • 输入的字符串中既有 A 又有 B

16.6

若输出的字符串为 CSPCSPCSPCSP,则下列说法正确的是( )。

{{ select(166) }}

  • 输入的字符串中既有 P 又有 K
  • 输入的字符串中既有 J 又有 R
  • 输入的字符串中既有 J 又有 K
  • 输入的字符串中既有 P 又有 R

本题共 10.5 分

  1. 阅读程序第 2 题 本题共 14 分

判断题

17.1

若 k=1,则输出 ans 时,len=n。( )

{{ select(171) }}

  • 正确
  • 错误

17.2

若 k>1,则输出 ans 时,len —定小于 n。( )

{{ select(172) }}

  • 正确
  • 错误

单选题

17.3

{{ select(173) }}

  • 正确
  • 错误

17.4

{{ select(174) }}

17.5

{{ select(175) }}

17.6

{{ select(176) }}

本题共 14 分

  1. 阅读程序第 3 题 本题共 13.5 分

判断题

18.1

若输入 n 为 0,此程序可能会死循环或发生运行错误。( )

{{ select(181) }}

  • 正确
  • 错误

18.2

若输入 n 为 20,接下来的输入全为 0,则输出为 0。( )

{{ select(182) }}

  • 正确
  • 错误

18.3

输出的数一定不小于输入的 d[i][0] 和 d[i][1] 的任意一个。( )

{{ select(183) }}

  • 正确
  • 错误

单选题

18.4

若输入的 n 为 20,接下来的输入是 20 个 9 和 20 个 0,则输出为( )。

{{ select(184) }}

  • 1890
  • 1881
  • 1908
  • 1917

18.5

若输入的 n 为 30,接下来的输入是 30 个 0 和 30 个 5,则输出为( )。

{{ select(185) }}

  • 2000
  • 2010
  • 2030
  • 2020

18.6

(4 分)若输入的 n 为 15,接下来的输入是 15 到 1,以及 15 到 1,则输出为( )。

{{ select(186) }}

  • 2440
  • 2220
  • 2240
  • 2420

本题共 15.5 分

三、完善程序(单选题,每小题 3 分,共计 30 分)

  1. 完善程序第 1 题

① 处应填( )?

{{ select(191) }}

  • 1
  • n-1
  • 2
  • 0 ② 处应填( )?

{{ select(192) }}

  • n/i
  • n/(i*i)
  • i*i
  • iii

③ 处应填( )?

{{ select(193) }}

  • if(n%i==0)
  • if(i*i<=n)
  • while(n%i==0)
  • while(i*i<=n)

④ 处应填( )?

{{ select(194) }}

  • n>1
  • n<=1
  • i<n/i
  • i+i<=n

⑤ 处应填( )? {{ select(195) }}

  • 2
  • n/i
  • n
  • i

本题共 15 分

  1. 完善程序第 2 题

① 处应填( )

{{ select(201) }}

  • A[j].b>A[j-1].b
  • A[j].a<A[j-1].a
  • A[j].a>A[j-1].a
  • A[j].b<A[j-1].b

② 处应填( )

{{ select(202) }}

  • A[j+1]=A[j];A[j]=t;
  • A[j-1]=A[j];A[j]=t;
  • A[j]=A[j+1];A[j+1]=t;
  • A[j]=A[j-1];A[j-1]=t;

③ 处应填( )

{{ select(203) }}

  • A[i].b>A[p-1].b
  • A[i].b<A[i-1].b
  • A[i].b>A[i-1].b
  • A[i].b<A[p-1].b

④ 处应填( )

{{ select(204) }}

  • q+1<n&&A[q+1].a<=r
  • q+1<n&&A[q+1].b<=r
  • q<n&&A[q].a<=r
  • q<n&&A[q].b<=r

⑤ 处应填( )

{{ select(205) }}

  • r=max(r,A[q+1].b)
  • r=max(r,A[q].b)
  • r=max(r,A[q+1].a)
  • q++