hihoCoder - 1082 - 然而沼跃鱼早就看穿了一切 (字符串处理!!)

来源:互联网 发布:windows无法启动sens 编辑:程序博客网 时间:2024/04/30 03:58

#1082 : 然而沼跃鱼早就看穿了一切

时间限制:1000ms
单点时限:1000ms
内存限制:256MB

描述


fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼(“marshtomp”,不区分大小写)。为了使句子不缺少成分,统一换成 “fjxmlhx” 。

输入

输入包括多行。

每行是一个字符串,长度不超过200。

一行的末尾与下一行的开头没有关系。

输出

输出包含多行,为输入按照描述中变换的结果。

样例输入
The Marshtomp has seen it all before.marshTomp is beaten by fjxmlhx!AmarshtompB
样例输出
The fjxmlhx has seen it all before.fjxmlhx is beaten by fjxmlhx!AfjxmlhxB

字符串处理!!!


AC代码:

#include <cstdio>#include <cstring>#include <algorithm>using namespace std;char a[210];int judge(char a[], int n){if(a[n+1] == 'A' || a[n+1] == 'a')if(a[n+2] == 'R' || a[n+2] == 'r')if(a[n+3] == 'S' || a[n+3] == 's')if(a[n+4] == 'H' || a[n+4] == 'h')if(a[n+5] == 'T' || a[n+5] == 't')if(a[n+6] == 'O' || a[n+6] == 'o')if(a[n+7] == 'M' || a[n+7] == 'm')if(a[n+8] == 'P' || a[n+8] == 'p')return 1;return 0;}void fun(char a[], int n){int len = strlen(a);a[n] = 'f'; a[n+1] = 'j';a[n+2] = 'x'; a[n+3] = 'm';a[n+4] = 'l'; a[n+5] = 'h';a[n+6] = 'x';for(int i=n+7; i<len-2; i++){a[i] = a[i+2];}a[len-2] = '\0';}int main(){while(gets(a)!=NULL){int len =strlen(a);for(int i=0; i<len-8; i++){if(a[i] == 'M' || a[i] == 'm'){if(judge(a, i)){fun(a, i);}}}printf("%s\n", a);}return 0;}



1 0