试卷总分:100分
选择题 10题 20分
判断题 10题 20分
编程题 2题 60分
void display(int n, double x);
#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; }
int gcd(int a, int b) { if (b == 0) return a; _________ }
strcmp("ABCD", "abcd");
#include <iostream> int main() { int cnt = 0; for (int i = 1; i <= 100; i++) { if (_________) cnt++; } std::cout << cnt; return 0; }
#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; }
strcmp(str1, str2)
strlen("hello\0world")
在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。
第一行输入序列的长度n和k,用空格分开。第二行输入序列中的n个整数,用空格分开。
如果存在某两个元素的和为k,则输出yes,否则输出no。
9 10 1 2 3 4 5 6 7 8 9
yes
某地质勘探队正在研究一条山脉的 N个连续山峰,山峰编号为 1 到 N。每个山峰的高度状态用字符串 S 表示:# 表示高峰,. 表示低谷。
地质学家需要统计存在多少山峰编号 i(1≤i≤N−2)满足以下特殊地形特征:
· 山峰 i是高峰;
· 山峰 i+1 是低谷;
· 山峰 i+2 是高峰。
即寻找所有满足"高峰-低谷-高峰"模式的连续三个山峰组的起始位置数量。
· 第一行:整数 N(山峰数量);
· 第二行:长度为 N 的字符串 S(山峰高度状态)。
满足条件的山峰编号 i的个数。
6 #.##.#
6
#.##.#
2
1 #
1
#
0
9 ##.#.#.##
9
##.#.#.##
3
· 1≤N≤2×105;
· S 仅包含字符 # 和 .。