20150204
字符串替换
代码:
#include <iostream>
#include <cctype>
using namespace std;
string source;
bool equals(char a,char b){
if(tolower(a) == tolower(b))
return true;
return false;
}
int main()
{
string mode = "marshtomp";
string str = "fjxmlhx";
while(getline(cin,source)){
int n = 0;
for(int i = 0; i < source.length();i++){
if(equals(source[i],mode[n])){
n++;
if(n == mode.length()){
cout << str;
n = 0;
}
}else if(n == 0){
cout << source[i];
}else{
int temp = 0;
if(i >= 1 && n >= 5){
temp = 3;
}else if(n == 1){
temp = 1;
}
for(int j = n; j >= temp; j--)
cout << source[i-j];
i -= temp;
n = 0;
}
if(i == source.length()-1 && n != 0){
for(int j = n - 1; j >= 0; j--)
cout << source[i-j];
}
}
cout << endl;
}
return 0;
}