导航菜单
首页 >  蓝桥杯python历年真题答案  > 免费,C++蓝桥杯比赛历年真题

免费,C++蓝桥杯比赛历年真题

C++蓝桥杯比赛历年真题–第14届蓝桥杯省赛真题

一、选择题

答案:A

解析: C++中 bool 类型与 char 类型一样,都需要1 byte。一些其他类型的占用字节数:short:2 byte,int:4byte,long long:8 byte,double:8byte,故答案为A。

答案:C

解析:

A中结构体中可以定义成员变量,也可以定义只有该结构体类型变量可调用的成员函数;

B中所谓结构体的继承特性,指的是在一个已经定义好的旧结构体的基础上,创建一个新结构体,并且新结构体可以复用旧结构体的成员和函数;

C正确,D中构造函数可以在创建结构体变量时,按照函数预设的构造规则将对应成员变量赋值,并执行其他操作。构造函数在创建结构体类型的对象时自动执行,因此无法由用户主动调用,也没有返回值,故答案为C。

答案:C

解析:由等比数列的求和可知:一个高度为 h的满二叉树含有 2h-1 个结点。

本题的 62 个结点,相当于高度为6 的满二叉树的 2^6 -1=63个结点中,再去掉最底层最右端的一个结点,故答案为C。

答案:C

解析:数组的索引是从0开始的,所以如果一个数组有n个元素,第一个元素的索引是0,最后一个元素的索引是n-1,而不是数组的长度故答案为C。

答案:A

解析:代码功能是计算一个递归函数 f(k) 的值,其中 f(1) = 3,且当 k > 1 时,f(k) = 2*f(k-1) + 1。对于 n = 6 的情况,计算过程如下:

f(6) = 2*f(5) + 1

f(5) = 2*f(4) + 1

f(4) = 2*f(3) + 1

f(3) = 2*f(2) + 1

f(2) = 2*f(1) + 1

已知 f(1) = 3

反向代入已知值得到:

f(2) = 2*3 + 1 = 7

f(3) = 2*7 + 1 = 15

f(4) = 2*15 + 1 = 31

f(5) = 2*31 + 1 = 63

f(6) = 2*63 + 1 = 127

所以,修正并执行代码后,输出的结果是 127,故答案为A。

二、编程题

【参考程序】

#include using namespace std;int main(){int n;cin>>n;cout>m;for(int i=n;isecond)++;// 将出现次数比x大的数y加上1if(!t->second) mp.erase(t); // 如果x的出现次数为0,则从mp中删除该键值对}else{ // 如果ans为奇数auto t=prev(mp.end());// 获取mp中最后一个键值对的迭代器(t->second)--; // 将出现次数最多的数x减去1(prev(t)->second)++;// 将出现次数比x小的数y加上1if(!t->second) mp.erase(t); // 如果x的出现次数为0,则从mp中删除该键值对}ans++;}int max_num = prev(mp.end())->first;int min_num = mp.begin()->first;cout

相关推荐: