电子学会青少年软件编程(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++ ----> 三级】

网站链接

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

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

相关推荐
西飘客9 小时前
vs 怎么根据dll 生成lib文件
c++·qt
程序员老陆10 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光10 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
SuperByteMaster11 小时前
wfi进入之前没有清除basepri, 导致中断优先级不够,wfi 退不出来
c语言
Navigator_Z12 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
半杯咖啡半行码13 小时前
C++ 编程与 STL 模板:从泛型编程到内存安全详解
开发语言·c++
xh didida14 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
垆边人似月.14 小时前
华为机试题 :两数之和
c++·算法·华为
个 人 练 习 生14 小时前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生
垆边人似月.14 小时前
华为机试题 :有效的括号
c++·算法·华为