#203. 2026 夏令营选拔复赛选择题

2026 夏令营选拔复赛选择题

1、下面哪一项最适合表示“一个数是否为偶数”的结果?

{{ select(1) }}

  • int
  • double
  • bool
  • char

2、若定义了数组 int a[8];,下面哪一次访问一定不会越界?

{{ select(2) }}

  • a[8]
  • a[7]
  • a[-1]
  • a[10]

3、下面代码想统计数组 a 中大于 10 的数的个数,空白处应填什么?

int cnt = 0;
for(int i = 0; i < n; i++) {
    if(__________) cnt++;
}

{{ select(3) }}

  • a[i] > 10
  • i > 10
  • a[n] > 10
  • cnt > 10

4、下面代码想计算 1 + 2 + ... + n,空白处应填什么?

int s = 0;
for(int i = 1; i <= n; i++) {
    __________;
}
cout << s;

{{ select(4) }}

  • s = i
  • s += i
  • i += s
  • s++

5、下面代码想找数组中的最小值。它最主要的问题是什么?

int mn = 0;
for(int i = 0; i < n; i++) {
    if(a[i] < mn) mn = a[i];
}
cout << mn;

{{ select(5) }}

  • 如果数组中所有数都大于 0,答案可能错误
  • for 循环一定会死循环
  • if 语句不能比较大小
  • mn 必须定义成 double

6、下面代码想判断 x 是否在数组中出现。空白处应填什么?

bool found = false;
for(int i = 0; i < n; i++) {
    if(__________) {
        found = true;
    }
}

{{ select(6) }}

  • a[i] == x
  • i == x
  • a[n] == x
  • found == x

7、将序列 4 1 3 2 按从小到大进行一趟选择排序:在整个序列中找到最小值,并与第一个元素交换。完成一趟后的序列是?

{{ select(7) }}

  • 1 4 3 2
  • 1 2 3 4
  • 4 1 2 3
  • 2 1 3 4

阅读下面程序片段,回答第 8 ~ 10 题:

int a[6] = {3, 6, 2, 9, 4, 7};
int cnt = 0;
int sum = 0;

for(int i = 0; i < 6; i++) {
    if(a[i] % 2 == 0) {
        cnt++;
        sum += a[i];
    }
}

cout << cnt << ' ' << sum;

8、这段程序中,变量 cnt 的作用是?

{{ select(8) }}

  • 统计数组中偶数的个数
  • 统计数组中奇数的个数
  • 记录数组中最大值
  • 记录数组中所有数的和

9、上述程序片段最终输出结果是?

{{ select(9) }}

  • 3 12
  • 3 15
  • 2 10
  • 6 31

10、如果把循环条件改成 i <= 6,最可能出现的问题是?

{{ select(10) }}

  • 会访问到 a[6],发生数组越界
  • 程序一定无法编译
  • 只会少统计一个元素
  • cnt 一定变成 0