选择题 共5道

01 02 03 04 05


编程题 共3道

06 07 10

621 | 第14届蓝桥杯C++青少组中/高级组选拔赛(STEMA)2023年1月15日真题-考试
选择题 共5道
01

C++程序的基本模块是(   )。

2分
登录后查看选项
02

以下一维数组定义中,哪一个语法不正确?(   )

2分
登录后查看选项
03

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

#include<iostream>
using namespace std;
int func(int x)
{
    if (x <= 3)
        return x * 2 - 1;
    else if (x >= 6)
        return func(x - 3) - 2;
    else
        return func(x + 1) + x;
}
int main()
{
    cout << func(14);
    return 0;
}
2分
登录后查看选项
04

已知:int i[5],*p=i;那么执行cout<<p+2;语句后,可以输出(   )。

2分
登录后查看选项
05

执行下面的程序,当输入的内容为“Hello world”时,输出的结果是 (    )。

char s[15];

cin >> s;

cout<<strlen(s);

2分
登录后查看选项
编程题 共3道
06

求十位数字

题目描述:

给定一个正整数N(1<N<1011),输出正整数十位上的数字。

输入描述:

输入一个正整数N(1<N<1011)

输出描述:

输出正整数十位上的数字


样例输入:

123

样例输出:

2
2分
登录后作答
07

寻宝石

编程实现:

有N(1<N<100)个盒子排成一排,每个盒子都放有宝石。请找出3个连续的盒子,使得3个盒子中的宝石数量之和最多。

例如:N = 5,盒子中的宝石数量依次为6、2、4、5、1。

3个连续的盒子共有3组,分别为(6,2,4)、(2,4,5)、(4,5,1),宝石数量之和最多是(6,2,4),宝石数量为12。

输入描述:

第一行输入一个正整数N(1<N<100),表示这排盒子的数量

第二行输入N个正整数(1≤正整数<100),表示盒子中依次放有的宝石数量,正整数之间以一个空格隔开

输出描述:

输出一个整数,表示3个连续的盒子最多的宝石数量


样例输入:

5
6 2 4 5 1

样例输出:

12
2分
登录后作答
10

公园树木

题目描述:

某公园有N(3≤N≤50)棵树排成一排,已知每棵树的高度。现要去掉一些树,使得剩下树的高度从左至右呈现先递增再递减的规律(即剩余的树中仅有一棵最高的树,且它左侧的所有树中后一棵树都要比前一棵树高,它右侧的所有树中后一棵树都要比前一棵树矮)

给出N棵树的高度(高度单位:m,1.0≤每棵树高度≤100.0,保留一位小数),请你计算出最少去掉几棵树才能使这排树呈现先递增再递减的规律,如果不能呈现则输出-1(只有递增或者只有递减都为不能呈现)。

例如:N=10,10棵树的高度从左到右依次为1.0、2.3、1.2、1.7、1.1、2.0、1.8、1.8、1.2、1.9。

要使这排树呈现先递增再递减的规律,最少去掉4棵树,去掉的编号分别为2、5、8、10。

剩余树的高度依次为1.0、1.2、1.7、2.0、1.8、1.2,最高树为2.0,其左侧树的高度依次为1.0、1.2、1.7、2.0,呈现递增趋势(从左至右且包含最高树);其右侧树的高度依次为2.0、1.8、1.2,呈现递减趋势(从左至右且包含最高树)。

输入描述:

第一行输入一个正整数N(3≤N≤50),表示这排树的数量

第二行输入N个数(1.0≤每个数≤100.0,保留一位小数),表示每棵树的高度,每个数之间以一个空格隔开

输出描述:

输出一个整数,表示最少去掉几棵树才能使这排树呈现先递增再递减的规律,如果不能呈现则输出-1


样例输入:

10
1.0 2.3 1.2 1.7 1.1 2.0 1.8 1.8 1.2 1.9

样例输出:

4
2分
登录后作答