Captcha Cracker

1、题目大意

SK同学希望你能帮他写一个程序来自动识别验证码的内容,验证码由小写字母和阿拉伯数字组成,你需要识别出其中所有的0,2,4,6,9以及这5个数字对应的英文单词,并按照它们在验证码中出现的顺序以数字形式输出。

输入描述:

第一行是一个正整数T(≤ 10),表示测试数据的组数, 每组测试数据只有一行,包含一个长度不超过100000的只由小写字母和阿拉伯数字组成的非空字符串。

输出描述:

对于每组测试数据,输出一行字符串,表示识别出的验证码。

2、题意分析及求解

该题妥妥的模拟题,根据题目意思进行处理即可。
#include <bits/stdc++.h>
using namespace std;

int T;
string s;
int main()
{
    scanf("%d",&T);
    while (T--){
        cin >> s;
        for (int i = 0;i < s.length();i++){
            if (s[i] == '0' || s[i] == '2' || s[i] == '4' || s[i] == '6' || s[i] == '9') cout << s[i];
            else if (s[i] == 'z' && s[i + 1] == 'e' && s[i + 2] == 'r' && s[i + 3] == 'o') cout << 0,i += 3;
            else if (s[i] == 't' && s[i + 1] == 'w' && s[i + 2] == 'o') cout << 2,i += 2;
            else if (s[i] == 'f' && s[i + 1] == 'o' && s[i + 2] == 'u' && s[i + 3] == 'r') cout << 4,i += 3;
            else if (s[i] == 's' && s[i + 1] == 'i' && s[i + 2] == 'x') cout << 6,i += 2;
            else if (s[i] == 'n' && s[i + 1] == 'i' && s[i + 2] == 'n' && s[i + 3] == 'e') cout << 9,i += 3;
        }
        cout << endl;
    }
    
    return 0;
}

3、题目标签

字符串、模拟
全部评论

相关推荐

09-29 17:44
已编辑
蔚来_测(准入职员工)
//鲨鱼辣椒:见不了了我实习了四个月上周再投筛选了一天就给我挂了
点赞 评论 收藏
分享
无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务