#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
char buffer[205];
const char fjx[20] = "fjxmlhx";
const char mar[20] = "marshtomp";
while (gets(buffer))
{
int indexOfmar = 0;
int indexOfBuffer = 0;
int indexOfMar = 0;
int markOfBuffer = 0;
int bufferLength = strlen(buffer);
//创建新串,作为最后输出的字符串
char* outputString = new char[205];
int indexOfoutput= 0;
while (buffer[indexOfBuffer] != '\0')
{
//当遇到m的时候依次往后检验
if (buffer[indexOfBuffer] == 'm' || buffer[indexOfBuffer] == 'M')
{
indexOfMar = 0;
markOfBuffer = indexOfBuffer;
//从遇到一个M或者m开始,依次往后检测,只需要遍历字符串一遍
while (buffer[indexOfBuffer] != '\0' && (buffer[indexOfBuffer] == mar[indexOfMar]
|| buffer[indexOfBuffer] == (mar[indexOfMar]-32)))
{
indexOfBuffer++;
indexOfMar++;
}
//如果字符串匹配成功则依次复制fjx字符串
if (indexOfMar == 9)
{
for (int i = 0;i < 7;i++)
{
outputString[indexOfoutput++] = fjx[i];
}
}
else
{
//匹配不成功,下标归位,output字符串继续依次复制
indexOfBuffer = markOfBuffer;
}
}
outputString[indexOfoutput++] = buffer[indexOfBuffer++];
}
outputString[indexOfoutput] = '\0';
cout << outputString << endl;
}
return 0;
}
hihocoder编程练习:#1082 : 然而沼跃鱼早就看穿了一切
最新推荐文章于 2018-02-27 08:53:33 发布