试卷总分:100分


选择题 10题 20分

01 02 03 04 05 06 07 08 09 10


判断题 10题 20分

11 12 13 14 15 16 17 18 19 20


编程题 2题 60分

21 22

E877 电子学会青少年软件编程等级考试-C++ -CIE-202603-C++三级-测试题-考试

选择题 共10道

01

以下代码的输出是?

vector<int> v = {5, 15, 25};
cout << v[1];
2分
登录后查看选项
02

以下代码的输出是?

vector<int> a = {2, 4, 6, 8};
a.push_back(10);
cout << a.front();
2分
登录后查看选项
03

栈的特点是?

2分
登录后查看选项
04

以下代码的输出是?

stack<int> st;
for (int i=1; i<=3; i++) st.push(i);
while (!st.empty()) {
	cout << st.top()<<" ";
	st.pop();
}
2分
登录后查看选项
05

以下代码的输出是?

queue<string> que;
que.push("Hello");
que.push("World");
cout<< que.back();
2分
登录后查看选项
06

获取队首元素但不删除的函数是?

2分
登录后查看选项
07

已知一个数组 nums 中的元素均为 1~100 之间的整数,若判断该数组是否存在重复元素,以下C++ 代码片段中 正确 的是?

2分
登录后查看选项
08

对于定义为 int arr[100]; 的数组,下列访问方式中不存在数组越界风险的是?

2分
登录后查看选项
09

以下代码的功能是?

for (int a = 1; a <= 9; a++) {
	for (int b = 1; b <= 9; b++) {
		if (a*b == 24) {
			cout<<a<<" "<<b<<endl;
		}
	}
}
2分
登录后查看选项
10

s.substr(2,3) 表示?

2分
登录后查看选项

判断题 共10道

11

'vector"是动态数组,可以自动扩展容量。

2分
登录后查看选项
12

'vector'"的'clear'会释放所有内存。

2分
登录后查看选项
13

stack'不需要指定长度上限。

2分
登录后查看选项
14

'stack'不支持随机访问。

2分
登录后查看选项
15

'queue"可以通过下标访问中间元素。

2分
登录后查看选项
16

'queue"可以在队头进行插入。

2分
登录后查看选项
17

统计各项元素出现数量时,必须把计数数组清零。

2分
登录后查看选项
18

判断数组是否有重复元素出现,最快的算法是双重循环。

2分
登录后查看选项
19

'string'的'find'函数在找不到子串时返回'-1'。

2分
登录后查看选项
20

'substr"的可以只有一个参数。

2分
登录后查看选项

编程题 共2道

21

排队名单

题目描述

火车站的售票大厅中有 n 个售票窗口(窗口编号为1,...,n),春运大潮来了,今天窗口还没有开放人们就已经陆陆续续涌进来。现在按顺序告诉你涌进来的 m 个人的目标窗口和排队编号(为 1,...,m),请你输出售票前各窗口的排队情况。

输入

第一行两个正整数 n,m

之后 m 个整数 ai,表示第 i 个进来的人到 ai​ 窗口排队。

输出

n 行,每行若干整数,分别第 i 个窗口前,从前到后排队人的编号,如果该窗口没人排,请输出 nobody。

数据范围

1≤n≤10^4

1≤m≤10^7

1≤ai≤n

输入样例1

3 7

2 3 1 3 1 1 1

输出样例1

3 5 6 7

1

2 4

输入样例2

7 4

1 3 3 6

输出样例2

1

nobody

2 3

nobody

nobody

4

nobody

30分

C0396
登录后作答
22

颁奖典礼

题目描述

n 个学生参加颁奖典礼,学号为 1 到 n。学生根据比赛排名上台领奖。已知学号为 i 的学生是第 ai 个上去领奖的。请输出学生上台领奖的学号顺序。

输入

第一行,单个整数n

第二行,n个整数a1,a2,...,an

输出

n个整数,表示学生上台的顺序。

数据范围

对于100%的数据,1≤n≤100,000,1≤ai≤n

输入样例1

3

3 1 2

输出样例1

2 3 1

30分

C0397
登录后作答