2025全国青少年科技创新大赛(简称青科赛)AI + 程序算法竞赛真题

点击蓝字 关注我们,点击星标 常看我们

前几天分享了小低组的图形化初赛真题,今天分享一下python的,公众号:Scratch青少儿编程课堂

我用夸克网盘分享了「2025全国青少年科技创新大赛(简称青科赛)AI + 程序算法竞赛真题.pdf」,点击链接即可保存。

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

我用夸克网盘分享了「2025全国青少年信息素养大赛Python小学组真题(包含答案).pdf」,点击链接即可保存。

链接:https://pan.quark.cn/s/07ae02509455

我用夸克网盘分享了「2025年青少年信息素养大赛图形化小低组初赛真题.pdf」,点击链接即可保存。

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

我用夸克网盘分享了「2025年青少年信息素养大赛算法创意C++华东(山东)赛区真题初中组,包含答案.pdf」,点击链接即可保存。

链接:https://pan.quark.cn/s/2e3c4726d952

我用夸克网盘分享了「2025年青少年信息素养大赛算法创意C++华东(山东)赛区真题小学组.pdf」,点击链接即可保存。

链接:https://pan.quark.cn/s/75369cebe7c3

我用夸克网盘分享了「2025年青少年信息素养大赛图形化小高组初赛真题包含答案.pdf」,点击链接即可保存。

链接:https://pan.quark.cn/s/39363b38e5f0

以下真题来自网络,仅供学习参考使用:

一、单项选择题(每题 5 分,共 3 题)
  1. 以下代码指令中代表正确输入指令的是( )。
    A. cin <<a << b;
    B. cout >>a >> b;
    C. cin >> a >> b;
    D. cin << a, b;

  2. 已知变量 x=5y=3,执行以下代码后,输出结果是( )。

    cout << x-y << endl;

    cout << x*y << endl;

    A. 2 15  B. 8 2  C. 5 3  D. 15 2

  3. 若 xy 为整数,以下表达式值恒为真的是( )。
    A. x>y && x<y
    B. x==y || x!=y
    C. x>=y && x<=y
    D. x>y || x<y

二、多项选择题(每题 5 分,共 7 题)
  1. 以下哪些是 C++ 关键字?(多选)
    A. int  B. double  C. value  D. char

  2. 关于 C++ 语言,下列说法正确的是(多选)。
    A. C++ 代码必须包含 main 函数  
    B. // 用于单行注释,/**/ 用于多行注释  
    C. 变量在使用前必须先声明  
    D. C++ 代码每行都必须以 ; 结尾

  3. 下列 while语句中,功能不相同的是(多选)。
    A. 若x=1while(x)while(x != 1)
    B. 若x=0while(x == 0)while(!x)
    C. 若x=-1while(x)while(x > 0)
    D. 若x=5while(x<x)与 while(x == x)

  4. 以下变量的命名不符合规范的是(多选)。
    A. float  B. _var_name  C. new_variable@  D. int1

  5. 关于 C++ 数组,下列说法正确的是(多选)。
    A. 一个数组中的元素类型必须相同  
    B. int arr[50]; 表示 arr 数组最多存储 50 个整数  
    C. 数组元素的下标从 1 开始  
    D. 数组在声明后可以动态改变大小

  6. 下列运算符及表达式,正确的是(多选)。
    A.x += 1等价于x = x+1;
    B.x == 5;用于判断x是否等于 5  
    C.x = y = z = 0;是有效的赋值语句  
    D.&&|| 是 C++ 逻辑运算符

  7. 输入下列选项中哪些值时,可以使得程序输出结果小于等于 3?(多选)

    #include<iostream>

    usingnamespace std;
    intmain(){
    int n, count =0;
        cin >> n;
    for(int i=1; i*i<=n; i++){
            count = i;
    }
        cout << count;
    return0;
    }

    A. 1  B. 3  C. 9  D. 15

三、编程题(每题 10-15 分,共 5 题)

1. 在一个遥远的魔法王国里住着一位聪明的炼金术士,他正在研究一种神秘的秘方,这种配方需要精确的混合三种不同的魔法成分。每种成分都有独特的魔力,因此必须按照严格的比例进行混合,以达到最佳效果。这三种成分分别是:

星尘(对应输入正整数a)

月光灵珠(对应输入正整数b)

太阳火焰(对应输入正整数c)

为了确保配方的准确性,炼金术士决定用以下公式来计算最终的魔法能量:E=a*0.3 + b*0.6 + c*0.7

其中,E是最终得到的魔法能量值。现在,你作为他的学徒,需要帮助他完成这项计算,并输出结果。

输入描述:一行,用单个空格隔开的三个正整数a,b,c。

输出描述:输出一个

2. 探险家艾伦即将前往一个神秘的岛屿进行探索,他需要通过速递公司寄送一批重要的探险装备。为了确保顺利到达目的地,艾伦选择了一家名为“飞鹰速递”的物流公司。这家公司收费标准如下:

基础费用:起步价为20元,如果超过首重则需收取续重费。称重结果采用四舍五入的方法,保留一位小数。

首重与续重:首重为2kg,不足首重只收取起步价。超过首重的话,每超过0.5kg需额外支付2元的续重费,超过首重部以0.5kg为一个计费重量单位,不足0.5kg部分按0.5kg计算。

现在,你作为艾伦的助手,需要编写一个程序来帮助他计算这次快递的总费用。输入为包裹的实际重量(单位:kg),输出为应支付的总费用(单位:元)。

输入描述:一行,一个实数w,表示物品重量。

输出描述:一行,一个整数,需要支付的快递费用。

样例1 输入:14输出:68

样例2 输入:72.68输出:302

数据范围:0.01<=w<=100.00 (重量最小为0.01kg,最大为100.00kg)

3. 有一只小海龟,它平日每天游泳20公里,周末休息(实行双休日),假设从周y开始算起,过了m天以后,小海龟一共累计游冰了多少公里呢?

输入描述:输入两个正整数y、m,表示从周y算起,经过m天。

输出描述:输出一个整放,表示小海龟累计游冰了多少公里

样例1输入:3 10输出:160

数据范围:1<=y<=7 (1表示周一,2表示周二,......7表示周日),1<=m<=1000(经过的天数最多为1000天)

4. 判断输入的致字n是否是回文效。“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在教学中也有这样一类数字有这样的特征,称为回文数。

输入描述:一行,一个整数n。

输出描述:一行,是回文数输出“YES”,否则输出“NO”。(输出不含引号)

样例1输入:12345654321输出:YES

数据范围:1≤n≤1e100

5. 小明是班上的数学小天才,最近他迷上了四舍五入和数字拆解的游戏!他发明了一种特殊的计算方式:

1 四舍五入:先对一个实数进行取整(比如3.6->4,2.4->2)。

2 数字乘积:然后计算这个整数的各位数字相乘的结果(比如123 -> 1*2*3=6)。

3 取模运算:最后,把乘积结果对10007取模(防止数字太大)。

现在,小明想请你帮他验证他的计算是否正确!

输入描述:输入一个实数x

输出描述:输出通过计算得到的整数

样例1输入:23.4输出6

数据范围:输入数据在100位以内,包括小数点     

图片

### 青少年科技创新大赛算法思维训练题及其解题思路 #### 一、关于青科中的算法思维题目特点 青少年科技创新大赛简称青科)通常会涉及一些基础的算法设计和逻辑推理能力测试。这些题目往往围绕以下几个方面展开:字符串处理[^1]、数值计算[^5]、数组操作[^4]以及简单的动态规划或贪心算法应用[^2]。 例如,在蓝桥杯系列竞赛中,“最大购物优惠”问题通过模拟实际生活场景来考查选手对于条件分支语句的应用能力和多维度约束下的最优方案寻找技巧;而像“求十位数字”的这类基础型试题,则侧重于检验参者是否能够熟练运用基本算术运算完成指定任务。 #### 二、典型例题解析 以下是几个具有代表性的例子并附带相应解答: ##### (一)最大购物优惠 **描述**: 给定若干商品名称列表,判断是否存在满足特定模式的商品组合可以获得额外折扣。 ```cpp #include <iostream> #include <vector> using namespace std; bool checkDiscount(const vector<string>& items, const string& pattern){ bool found = false; for(auto item : items){ if(item.find(pattern)!=string::npos){found=true;break;} } return found; } int main(){ int m,n; cin>>m>>n; vector<string> goods(m); for(int i=0;i<m;++i)cin>>goods[i]; while(n--){ string ptn;cin>>ptn; cout<<(checkDiscount(goods,ptn)?'1':'0')<<endl; } return 0; } ``` 此代码片段实现了基于子串匹配原则判定是否有符合条件的产品存在功能. ##### (二)求数字之和 **描述**: 输入任意整数N,输出其两倍值作为结果表示该位置前后相邻两个自然数总和等于原数本身情况下的替代表达形式之一. ```cpp #include <iostream> using namespace std; int main(){ long num; cin >> num; cout << (num * 2)<< endl; return 0; } ``` 上述实现非常简洁明了地完成了既定目标即直接返回输入参数加倍后的产物即可达成预期效果. #### 三、常用训练方法建议 为了更好地准备此类比项目可以从以下几个方向着手努力提升自我水平: - **扎实基础知识功底建设** 不断复习巩固计算机学领域内的核心概念比如数据结构(链表栈队列哈希表树图等),常见排序查找技术等等这些都是构建更高级别解决方案不可或缺的基础构件. - **广泛参与在线评测平台练习活动** 利用LeetCode,HackerRank,CodingGame等多种资源定期参加各类挑战积累实战经验逐步提高解决未知难题的能力. - **深入研究历年优秀作品案例分享资料** 查阅往期获奖队伍提交的技术文档视频教程等内容学习他们是如何构思架构最终形成完整产品的整个过程从而借鉴其中精华部分融入自己的创作当中去.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值