hihoCoder题库1082然而沼泽鱼早就看穿了一切

题目

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

描述

hihoCoder题库1082然而沼泽鱼早就看穿了一切_第1张图片

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
我的代码(已A)

#include
#include
using namespace std;

bool check(int i,string a){
	if((a[i]=='M'||a[i]=='m')&&(a[i+1]=='A'||a[i+1]=='a')&&(a[i+2]=='R'||a[i+2]=='r')&&
	    (a[i+3]=='S'||a[i+3]=='s')&&(a[i+4]=='H'||a[i+4]=='h')&&(a[i+5]=='T'||a[i+5]=='t')&&
		(a[i+6]=='O'||a[i+6]=='o')&&(a[i+7]=='M'||a[i+7]=='m')&&(a[i+8]=='P'||a[i+8]=='p')){
			return true;
	}
	else return false;
}

int main(){
	string str;
	string change="fjxmlhx";
	while(getline(cin,str)) {
		string str1="";
        int j = 0;
        for(int i = 0; i < str.size(); i++) {
			if(check(i,str)) {{
				str1=str1+change;
                i= i + 8;
			}
			}
			else str1=str1+str[i];
		}
		cout<
这道题一开始没有做成了这样后没有提交,还在考虑字符串如果忽略回车键输入,那么要怎么判断输入完毕了。然后就去查了别人的代码,结果发现已A的代码也是一行一行输出的,我就试了下提交别人的代码果然A了,然后又提交了这个代码也A了,就觉得很坑爹,可能是我经验不够,不了解题目的意思, 下次遇到不在一开始说明输入几组的程序,就试着编成一组一组输出。

你可能感兴趣的:(A题进行中)