电子学会青少年软件编程(C语言)等级考试试卷(三级)2025年12月

=========================================================================

更多内容和历年真题请查看网站:【试卷中心 -----> 电子学会 ----> C/C++ ----> 三级】

网站链接

青少年软件编程历年真题模拟题实时更新

=========================================================================

青少年软件编程(C语言)等级考试试卷(三级)

一、编程题(共5题,共100分)

1、密文匹配

题目描述

你有两段密文 s和 t,长度分别为 n 和 m,且 n≤m。

请判断 s在 t 中的位置关系,并输出对应编号:

若 s同时出现在 t 的开头和结尾,输出 0

若 s仅出现在开头,输出 1

若 s仅出现在结尾,输出 2

若 s既不在开头也不在结尾,输出 3

其中,"出现在开头"指 t 的前 n 个字符与 s完全相同;"出现在结尾"指 t 的后 n 个字符与 s完全相同。

输入格式

第一行:两个整数表示n m

第二行:字符串s

第三行:字符串t

输出格式

输出一个数字表示结果

输入样例#1

3 6

abc

abcdef

输出样例#1

1

输入样例#2

3 4

abc

cabc

输出样例#2

2

输入样例#3

3 3

ccc

ccc

输出样例#3

0

输入样例#4

3 3

abc

xyz

输出样例#4

3

说明提示

1≤n≤m≤1001≤n≤m≤100

字符串均为小写字母

限制

时间限制:1000ms

内存限制:256MiB

参考代码:

复制代码
#include <iostream>
#include <string>
using namespace std;

int main() {
    int n, m;
    string s, t;
    cin >> n >> m >> s >> t;

    int is_prefix = true;
    for (int i = 0; i < n; i++) {
        if (s[i] != t[i]) {
            is_prefix = false;
        }
    }
    
    int is_suffix = true;
    for (int i = 0; i < n; i++) {
        if (s[i] != t[m - n + i]) {
            is_suffix = false;
        }
    }

    if (is_prefix) {
        cout << (is_suffix ? 0 : 1) << endl;
    } else {
        cout << (is_suffix ? 2 : 3) << endl;
    }

    return 0;
}

2、比较

题目描述

给定两个正整数 a,b,比较他们的大小。注意给定的整数可能非常大。

输入格式

第一行,整数a

第二行,整数b。

输出格式

如果 a>b,输出 ">";如果 a=b,输出 "=",如果 a<b,输出 "<"。

输入样例#1

123

456

输出样例#1

<

输入样例#2

111111111111111111

99999999999999999

输出样例#2

>

输入样例#3

123456789123456789012345678901234567890

123456789123456789012345678901234567890

输出样例#3

=

说明提示

1≤a,b≤101001≤a,b≤10100,保证 a,b 均无前导零。

限制

时间限制:1000ms

内存限制:256MiB

=========================================================================

更多内容和历年真题请查看网站:【试卷中心 -----> 电子学会 ----> C/C++ ----> 三级】

网站链接

青少年软件编程历年真题模拟题实时更新

=========================================================================

相关推荐
我不会插花弄玉17 小时前
15.map,set下:AVL树,红黑树和map,set的封装【由浅入深-C++】
c++·stl
en.en..17 小时前
C 语言嵌入式事件驱动状态机完整教程(枚举配套)
c语言·开发语言
hold?fish:palm17 小时前
20 旋转图像
c++·算法·leetcode
Yyyyyy~17 小时前
[C语言]break和continue作业
c语言·开发语言
此生决int17 小时前
深入理解C++系列(10)——lsit
开发语言·c++
NoteStream17 小时前
【C语言基础】分支和循环(上)
c语言·开发语言·c++·经验分享·笔记·算法·c#
2401_8274999917 小时前
C++(黑马)05-提高编程
java·开发语言·c++
hold?fish:palm18 小时前
链表的基本原理和实现(C++版本)
数据结构·c++·链表
jufeng130718 小时前
【系列:MiniKV 原理剖析 · 第 5 篇】
linux·网络·c++·软件工程
豆沙沙包?19 小时前
C++-程序的内存模型(P84-P88)
java·jvm·c++