选择题 共10道

01 02 03 04 05 06 07 08 09 10


判断题 共10道

11 12 13 14 15 16 17 18 19 20


编程题 共2道

21 22

E1013 CIE电子学会-202603-C++三级-模拟1-练习

选择题 共10道
01 以下关于C++函数返回类型的说法,正确的是( ) 2分
登录后查看选项
02 在C++中,关于函数定义的说法,正确的是( ) 2分
登录后查看选项
03 已知函数原型为void display(int n, double x);,以下调用方式正确的是( ) 2分
登录后查看选项
04 执行以下代码,输出结果是什么?( )
#include <iostream>
void swap(int x, int y) {
  int t = x;
  x = y;
  y = t;
}
int main() {
  int a = 5, b = 10;
  swap(a, b);
  std::cout << a << " " << b;
  return 0;
}
2分
登录后查看选项
05 以下递归函数用于计算两个正整数的最大公约数,横线处应填入的代码是( )
int gcd(int a, int b) {
  if (b == 0) return a;
  _________
}
2分
登录后查看选项
06 以下关于C风格字符串处理函数的说法,正确的是( ) 2分
登录后查看选项
07 执行strcmp("ABCD", "abcd");,返回值的情况是( ) 2分
登录后查看选项
08 若想计算一个浮点数的绝对值,应使用以下哪个数学库函数?( ) 2分
登录后查看选项
09 以下代码用于统计1~100中十位数字是3的数的个数,横线处应填入的代码是( )
#include <iostream>
int main() {
  int cnt = 0;
  for (int i = 1; i <= 100; i++) {
    if (_________)
      cnt++;
  }
  std::cout << cnt;
  return 0;
}
2分
登录后查看选项
10 阅读以下程序,当输入整数4时,程序的输出结果是( )
#include <iostream>
int main() {
  int n, sum = 0, f = 1;
  std::cin >> n;
  for (int i = 1; i <= n; i++) {
    f = f * i;
    sum = sum + f;
  }
  std::cout << sum;
  return 0;
}
2分
登录后查看选项
判断题 共10道
11 在C++中,一个函数可以有多个参数,但只能有一个返回值。( ) 2分
登录后查看选项
12 使用默认参数时,可以为任意位置的参数指定默认值,不必从右向左连续指定。( ) 2分
登录后查看选项
13 函数重载是指多个函数具有相同的名称,但返回类型必须不同。( ) 2分
登录后查看选项
14 当形参为引用类型时,调用函数时传递的实参必须是一个变量,不能是常量或表达式。( ) 2分
登录后查看选项
15 递归算法相比非递归算法通常使用更多的内存空间。( ) 2分
登录后查看选项
16
strcmp(str1, str2)
函数比较两个字符串的大小,如果str1等于str2,则返回1。( )
2分
登录后查看选项
17 调用
strlen("hello\0world")
将返回字符串的长度为5。( )
2分
登录后查看选项
18 枚举法解决问题时,通常需要设计循环来遍历所有可能的解空间。( ) 2分
登录后查看选项
19 模拟法只适用于数学问题,不能处理游戏规则等非数学场景。( ) 2分
登录后查看选项
20 在C++中,函数定义时必须明确指定返回类型,不能省略。( ) 2分
登录后查看选项
编程题 共2道
21

找和为K的两个元素


在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。


输入

第一行输入序列的长度n和k,用空格分开。
第二行输入序列中的n个整数,用空格分开。


输出

如果存在某两个元素的和为k,则输出yes,否则输出no。


样例输入
9 10
1 2 3 4 5 6 7 8 9

样例输出

yes
30分
登录后作答
22

数山峰


题目描述

某地质勘探队正在研究一条山脉的 N个连续山峰,山峰编号为 1 到 N。每个山峰的高度状态用字符串 S 表示:# 表示高峰,. 表示低谷。

地质学家需要统计存在多少山峰编号 i(1≤i≤N−2)满足以下特殊地形特征:

· 山峰 i是高峰;

· 山峰 i+1 是低谷;

· 山峰 i+2 是高峰。

即寻找所有满足"高峰-低谷-高峰"模式的连续三个山峰组的起始位置数量。


输入格式

· 第一行:整数 N(山峰数量);

· 第二行:长度为 N 的字符串 S(山峰高度状态)。


输出格式

满足条件的山峰编号 i的个数。


输入样例#1

6

#.##.#

输出样例#1

2

输入样例#2

1

#

输出样例#2

0

输入样例#3

9

##.#.#.##

输出样例#3

3


数据范围

· 1≤N≤2×105

· S 仅包含字符 # 和 .。


30分
登录后作答