十四届蓝桥青少国赛

选择题

1.已定义字符串string s ="Let It Be",下列哪个选项可以获得字符串s的长度?()

A.s.size()

B.len(s)

C.sizeof(s)

D.strlen(s)

2.以下选项中,没有利用“比较”换作的算法是()

A.选择排序   B.冒泡排序

C.插入排序   D.桶排序

3、假设入栈顺序为a、b、c、d、e,则出栈序列不可能是( )

A.a、b、d、c、e

B.b、a、d、c、e

C.d、c、a、b、e

D. c、b、a、d、e

4、以下关于c++类的说法,正确的是()

A.析构函数和构造函数一样可以进行重载

B.析构函数里不能使用return语句

C.构造函数不需要返回值时,需要定义为返回void类型

D.如果自定义构造函数的参数都是默认参数,则不能再定义一个无参数的构造函数

5.执行以下代码,输出的结果是()

#include <iostream>

using namespace std;

int f(int k)

{

        if (k <= 2)return 1;

        return 2 *f(k - 2) + f(k - 1);

int main()

{

        int n = 7;

        cout << f(n);

        return 0;

}

A.21

B.41

C.43

D.45

第一题

编程实现:八进制回文平方数

提示:

八进制数:指逢8进位的一种进位计制,以0、1、2、3、4、5、6、7共八个数码表示。例如: 十进制数8等于八进制数10,十进制数64等于八进制数100,以此类推。

回文数:反向排列与原来一样的数。例如,12321是回文数,1231不是回文数。

平方数:可以写成某个整数的平方的数。例如,9 = 3^2,9是一个平方数

题目描述:

给定一个十进制正整数N(1<=N<=10^9),请从小到大输出1~N之间(含1和N)所有满足以下要求的数

1.这个数转换为八进制后是一个回文数;

2.这个数是一个平方数。

例如: N=20,在1~20之间满足要求的数有1、4、9,因为有

1转换为八进制为1,是一个回文数;且1 = 1^2,是一个平方数

4转换为八进制为4,是一个回文数:且4= 2^2,是一个平方数:

9转换为八进制为11,是一个回文数:且9 = 3^2,是一个平方数

故输出1 4 9

输入描述:输入一个十进制正整数N(1<=N<=10^9)

输出描述:输出一行,包合若干个十进制正整数,表示满足题目要求的数。结果从小到大输出,两个正整数之间用一个空格隔开

样例输入:20

样例输出:1 4 9

第二题

编程实现:主要成分

背景信息:

金星是离地球最近的行星,人类发射的“金星快车”探测器的主要任务是对金星大气层进行精确的探测,分析其化学成分。

题目描述:

从金星探测器传回来一组测量数据,这是一个长度为N(1<=N<=1000000)的整数数列,数列中的每个整数代表某一种化学成分(相同的整数代表相同的化学成分)。

主要成分:指在包合的所有化学成分中比例超过一半(N/2的结果向下取整)的成分现

在要判断其是否有主要成分;如果有,其主要成分是哪一种?

例如:

当N=7,整数数列为1 2 3 2 2 1 2,其中成分2有4个,超过了7的一半(7的一半向下取整为3),所以主要成分是2。

当N=6,整数数列为1 102 31 31 1 102,其中的每种成分都只有2个,未超过6的一半(6的一半为3),所以没有主要成分。

输入描述

第一行输入一个正整数N(1<=N<=1000000),表示数列长度

第二行输入n个整数(1<=整数<=2x10^9),每个整数表示一种化学成分,两个整数之间用一个空格隔开

输出描述

输出一行,如果存在主要成分,则输出代表主要成分的整数,否则,输出No

样例输入:

7

1 2 3 2 2 1 2

样例输出:

2

第三题

编程实现:简单算术题

题目描述:

给定一道没有括号的四则混合运算算术题(可能包合多余的空格),请编程计算出结果

运算规则如下:

1.既有乘、除法又有加、减法的,要先算乘除法,再算加减法

2.同级运算时,要从左往右按顺序计算

3.所有除法运算的结果都只保留整数部分(直接舍弃小数部分)

例如:当算术题为2+3* 4-10/6+1/24时,优先计算乘除法,有3*4=12,10/6=1,1/2*4=0;然后再计算加减法,2+3*4-10/6+1/2*4=2+12-1+0=13,故输出13。

输入描述

输入一个字符串,表示算术题,5≤字符串长度≤100000,字符串中只包含空格、数字字符以及“+”、“-”、“*”,“/”,不合括号:

算式中的运算数范围:1≤运算数≤200

输出描述

输出一个整数,表示算术题的计算结果

题目数据保证算式的每一步运算的结果都在-2*10^9-2*10^9之间

样例输入:2+3*4-10/6+1/2*4

样例输出:13

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值