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、题目标签
字符串、模拟