2022pta平时训练题(1~10题字符串处理问题)

本文整理了2022年的pta训练题目,涉及字符串处理的多个问题,包括弟弟的作业检查、字符串连接计算、只出现一次的字符查找、单词替换、最长连续字符识别以及字符串移位包含问题的解决方法。通过对这些题目的解析,帮助读者提升对字符串操作的理解和应用能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

7-1 h0105. 弟弟的作业

输入格式:

输出格式:

输入样例:

输出样例:

7-2 h0100. 字符串连接

输入格式:

输出格式:

输入样例:

输出样例:

7-3 h0083. 只出现一次的字符

输入格式:

输出格式:

输入样例:

输出样例:

7-4 h0084. 单词替换

输入格式:

输出格式:

输入样例:

输出样例:

7-5 h0092. 字符串中最长的连续出现的字符

输入格式:

输出格式:

输入样例:

输出样例:

7-6 h0086. 字符串移位包含问题(循环位移算法)

输入格式:

输出格式:

输入样例:

输出样例:


7-1 h0105. 弟弟的作业

你的弟弟刚做完了“100以内数的加减法”这部分的作业,请你帮他检查一下。每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均为不超过100的非负整数;c是弟弟算出的答案,可能是不超过200的非负整数,也可能是单个字符"?",表示他不会算。

输入格式:

输入文件包含不超过100行,以文件结束符结尾。每行包含一道题目,格式保证符合上述规定,且不包含任何空白字符。输入的所有整数均不含前导0。

输出格式:

输出仅一行,包含一个非负整数,即弟弟答对的题目数量。

输入样例:

1+2=3
3-1=5
6+7=?
99-0=99

输出样例:

2
#include<bits/stdc++.h>

using namespace std;

int main() {
    int x ,y ,cnt = 0;
    char c1 ,c2;
    string z;
    while (cin >> x >> c1 >> y >> c2 >> z) {
        int num = 0;
        for (int i = 0; i < z.size(); i++) {
            num = (z[i] - '0') + num * 10;
        }
        if (c1 == '+' && x + y == num)
        {
            cnt++;
        }
        else if (c1 == '-' && x - y == num)
        {
            cnt++;
        }
        else if (c1 == '*' && x * y == num)
        {
            cnt++;
        }
        else if (c1 == '/' && x / y == num)
        {
            cnt++;
        }
    }
    cout << cnt;
    return 0;
}

7-2 h0100. 字符串连接

一种语言是一个字符串组成的集合。两种语言的拼接是在第一种语言的字符串的结尾处拼接第二种语言的字符串而构成的所有字符串的集合。

• 例如,如果给出两种语言 A 和 B :

• A = {cat, dog, mouse} ;

• B = {rat, bat} ;

• 则 A 和 B 的连接是:

• C = {catrat, catbat, dograt, dogbat, mouserat, mousebat} 。

• 给出两种语言,请您计算两种语言拼接所产生的字符串的数目。

输入格式:

输入有多个测试用例。输入的第一行给出测试用例的数目 T ( 1≤T≤25 )。接下来给出 T 个测试用例。每个测试用例的第一行给出两个整数, M 和N ( M, N < 1500 ),是每种语言中字符串的数量。然后, M 行给出第一种语言的字符串;接下来的 N 行给出了第二种语言的字符串。本题设定字符串仅由小写字母( 'a' 到 'z' )组成,长度小于 10 个字符,并且每个字符串在一行中给出,没有任何前导或尾随的空格。
输入语言中的字符串可能不会被排序,并且不会有重复的字符串。

输出格式:

对于每个测试用例,输出一行。每个测试用例的输出是以测试用例的序列号开始,然后给出在第一种语言的字符串之后拼接第二种语言中的字符串所产生的字符串数。

输入样例:

2
3 2
cat
dog
mouse
rat
bat
1 1
abc
cab

输出样例:

Case 1: 6
Case 2: 1
#include<bits/stdc++.h>
using
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真题OK撒

你的打赏将是我最大的创作

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值