2025 年全国青少年信息素养大赛 C++ 初中组比赛真题

01

领取源码

长按复制下标蓝色链接复制领取

我用夸克网盘分享了「全国青少年信息素养大赛复赛集训题目Python&C++.docx」,点击链接即可保存。

链接:https://pan.quark.cn/s/93995d3cb150

我用夸克网盘分享了「2024信息素养-智能算法应用挑战赛-复赛初中组题目7月7日.pdf」,点击链接即可保存。

链接:https://pan.quark.cn/s/da97b5dbf75d

我用夸克网盘分享了「Python背记手册.pdf」,点击链接即可保存。

链接:https://pan.quark.cn/s/7568ae9ca92b

我用夸克网盘分享了「Python课程」,点击链接即可保存。

链接:https://pan.quark.cn/s/a94bf02d00c6

我用夸克网盘分享了「2024信息素养大赛图形化复赛集训题答案3-9」,点击链接即可保存。

链接:https://pan.quark.cn/s/6ccab7ec3cbc

我用夸克网盘分享了「2025年03月份电子学会考级真题」,点击链接即可保存。

链接:https://pan.quark.cn/s/4403c4228912

我用夸克网盘分享了「2025全国青少年信息素养大赛赛项说明」,点击链接即可保存。视投屏。

链接:https://pan.quark.cn/s/d9d0df4a9f29

我用夸克网盘分享了「青少儿信息素养大赛编程资料」,点击链接即可保存。

链接:https://pan.quark.cn/s/4ab6bd83be8a


一、选择题
  1. *C++ 表达式 (5>3) 3 的值是()

  • A. 0

  • B. true

  • C. 1

  • D. 3

  • 以下说法错误的是?

    int a, b;

    cin >> a >> b;
    a = a*b;
    b += a;
    cout << a <<" "<< b << endl;
    • A. 输入 2 3,程序输出:6 9

    • B. 输入 1 1,程序输出:2 2

    • C. a = a*b这一条语句替换成a *= b,效果一样

    • D. b += a这一条语句替换成b = b + a,效果一样

  • 想输出 'a'~'z'26 个字母,横线处可以填写()。

    for(int i =1; i <=26; i++)

    cout << ____ << endl;
    • A. char('a' + i)

    • B. char('a' - 1 + i)

    • C. 'a' - 1 + i

    • D. 'a' + i

  • 以下说法错误的是()

    int n;

    cin >> n;
    while(n >0)
    {
        cout << n %10;
        n /=10;
    }
    • A. 输入 345,会输出 543

    • B. 输入 100,会输出 001

    • C. 输入任意非负整数,程序能依次输出该数从个位到最高位的所有数位

    • D. 如果把n /= 10这一语句删掉,运行程序并输入 123,程序会死循环

  • 运行程序并输入 9,输出为()

    #include<iostream>

    usingnamespace std;
    int a[15];
    intmain()
    {
    int n;
        cin >> n;
        a[1]= a[2]=1;
    for(int i=3; i<=n; i++)
    {
            a[i]= a[i-1]+ a[i-2];
    }
        cout << a[n];
    return0;
    }
  • 探险装备采购

    :探险队有 n 人,每人需要 3 个探照灯、1 个氧气瓶、4 捆安全绳。已知探照灯单价为 x 元,氧气瓶单价为 y 元,安全绳单价为 z 元,编写程序计算采购探险装备的总花费。输入描述

    :一行输入四个整数 n、x、y、z,分别表示探险队人数、探照灯单价、氧气瓶单价、安全绳单价,整数之间用空格隔开。输出描述

    :一个整数,代表购买装备的总花费。样例输入

    :40 3 5 4样例输出

    :1200样例说明

    :40×(3×3+1×5+4×4)=1200数据范围

    :2≤n,x,y,z≤100

    地形判断

    • 题目描述

      :探险队勘探宝藏埋藏之地的地形,测量了东侧、中央、西侧三个关键点的海拔高度。需要编写程序,根据输入的三个点海拔高度判断地形,地形分类如下:

    1. 山丘:中央高于东侧和西侧。

    2. 谷地:中央低于东侧和西侧。

    3. 平原:东侧、中央、西侧高度相同。

    4. 东侧坡:西侧高于中央,中央高于东侧。

    5. 西侧坡:东侧高于中央,中央高于西侧。

    6. 普通地形:不属于以上五种的任意一种。

      如果是山丘,输出 "hill"
      如果是谷地,输出 "valley"
      如果是平原,输出 "plain"
      如果是西侧坡,输出 "west"
      如果是普通地形,输出 "common"

  • 输入描述

    :输入三个整数 a、b、c,用空格隔开,分别表示东侧、中央、西侧的海拔高度。

  • 输出描述

    :输出一个字符串,为 “hill”“valley”“plain”“east”“west”“common” 中的一个。

  • 样例输入

    :60 60 60

  • 样例输出

    :plain

  • 题目描述
    探险队即将进入藏宝地宫,地宫由 n 个区域组成,编号 1~n。探险队用高科技探明了每个区域的宝藏数 a₁,a₂,…,aₙ,同时,他们也发现有些区域隐藏着机关,n 个区域的机关的伤害值用 b₁,b₂,…,bₙ表示,如果编号为 i 的区域没有机关,则 bᵢ=0,如果踏入了有机关的区域,不仅无法获得该区域的宝藏,还会受到相应的伤害值。探险队准备了一个防御值为 k 的护盾抵挡伤害,如果探险队依次经过编号 1~n 区域的过程中受到的伤害总量超过了护盾的防御值 k,则本次探险过于危险,输出 “Danger”,结束探险。如果探险队依次绕过编号 1~n 的全部区域且受到的伤害总量没有超过护盾的防御值 k,则输出获得的宝藏总数。

    输入描述
    第 1 行:两个空格隔开的正整数 n 和 k,表示区域个数和护盾防御值。
    第 2 行:n 个非负整数 a₁,a₂,…,aₙ,aᵢ表示编号为 i 的区域的宝藏数量。
    第 3 行:n 个非负整数 b₁,b₂,…,bₙ,bᵢ表示编号为 i 的区域的机关伤害值。

    输出描述
    一个整数表示获得的宝藏总数,或者一个字符串 “Danger”。

    样例 1
    输入
    5 6
    4 1 9 4 2
    0 3 0 1 2
    输出

    13

    题目描述
    古代王都的阅览室里藏着许多奇怪的书籍,这些书籍的标题都是由小写字母组成的字符串。其中一些书籍比较特殊,书名是回文串 —— 无论从左往右读还是从右往左读都一样。这独特的特性与它们的历史背景上的秘密。由于书籍太多,你需要写一个程序来统计回文书名的数量,并将所有回文书名按输入的顺序串联在一起输出。

    输入描述
    第一行,一个正整数 n,表示共有 n 本书。
    接下来 n 行,每一行一个字符串,表示书名,每个字符串由小写字母组成,不包含空格。

    输出描述
    第一行输出一个整数,表示回文书名的个数。
    第二行输出一个字符串,所有回文书名按依次连在一起的结果,中间没有空格。如果不存在回文书名,则输出一个空行。

    样例 1
    输入
    5
    level
    world
    kayak
    hello
    civic
    输出
    3
    levelkayakcivic

    提示
    [样例说明]
    回文串是指正读和反读都相同的字符串,"level"、"kayak" 和 "civic" 都是回文串。
    [数据范围]
    1 ≤ n ≤ 100
    每个字符串长度不超过 50。

    题目描述
    探险队进入了一个神秘地宫,里面有 n 堆宝石,每堆宝石个数为正整数。旁边有一面石碑,上面刻着取宝石的规则:探险者需要选定一堆宝石,从这堆宝石开始每隔 k堆宝石拿一堆宝石,违反规则者会受到神秘力量的惩罚!
    已知每一堆宝石的数量,请问探险队最多能拿走多少个宝石?

    输入描述
    第一行:两个正整数 n、k,用一个空格隔开;
    第二行:n 个正整数 a₁,a₂,…,aₙ,表示每堆宝石的个数。

    输出描述
    一个整数,表示最多能拿走的宝石个数。

    样例 1
    输入
    7 2
    4 6 2 1 10 1 3
    输出
    16

    提示
    【样例说明】
    从第 1 堆宝石开始拿,拿走第 1、4、7 堆宝石,总数为 8
    从第 2 堆宝石开始拿,拿走第 2、5 堆宝石,总数为 16
    从第 3 堆宝石开始拿,拿走第 3、6 堆宝石,总数为 3
    从第 4 堆宝石开始拿,拿走第 4、7 堆宝石,总数为 4
    从第 5 堆宝石开始拿,拿走第 5 堆宝石,总数为 10
    从第 6 堆宝石开始拿,拿走第 6 堆宝石,总数为 1
    从第 7 堆宝石开始拿,拿走第 7 堆宝石,总数为 3
    (数据范围)
    60% 的数据:1 ≤n ≤10^3,1 ≤k ≤10^3,且 k 不超过 100
    每堆宝石个数不超过 10^5。
    60% 数据:枚举 n 个位置,每 k 个选一个,求总分最大量。O(n^2 /k)
    100% 数据:枚举前 k - 1 个位置,O(n)

由于2025全国青少年信息素养大赛C++初赛尚未举行,目前无法提供具体的题目内容。然而,可以通过分析往的试题结构和考察重点来推测可能涉及的知识点和题型。 以下是基于往赛事的总结以及可能的预测: ### 往赛事特点 根据以往的比赛情况[^1],全国青少年信息素养大赛C++算法创意实践挑战赛通常会覆盖以下几个方面: - **基础知识**:包括变量、数据类型、运算符等基本概念。 - **控制结构**:如条件语句 (`if`/`else`) 和循环 (`for`, `while`) 的应用。 - **函数设计**:定义和调用自定义函数的能力。 - **数组与字符串处理**:一维数组的操作、字符数组的应用。 - **简单算法实现**:如排序、查找、统计等问题。 #### 可能的题型举例 1. **输入输出操作** 编写程序读取一组整数并按特定规则输出结果。例如: ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; for(int i = 0; i < n; ++i){ int num; cin >> num; cout << (num * 2) << endl; // 输出两倍数值作为示例 } return 0; } ``` 2. **数字统计问题** 给定范围内的自然数中某些特性的计数。比如统计含有某个指定数字的次数[^2]: ```cpp #include <iostream> using namespace std; int main(){ int n, k, count = 0; cin >> n >> k; for(int i = 1; i <=n ; ++i){ int temp = i; while(temp != 0){ if( temp %10 ==k ) count++; temp /=10 ; } } cout<<count<<endl; return 0; } ``` 3. **简单的逻辑判断** 设计一段代码完成一些基础的逻辑判定任务,像奇偶性检测或者素数验证等。 4. **初步的数据结构运用** 如利用栈或队列解决实际场景中的排队购票模型之类的小规模实例。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值