描述
考虑一个只包含小写英文字母的字符串 (S)。现在,根据以下规则对字符串进行修改:
- 将所有单独出现的字母 ‘i’ 替换为数字 ‘1’。
- 将每一处连续的字符串 “to” 替换为数字 ‘2’。
- 将每一处连续的字符串 “for” 替换为数字 ‘4’。
- 将所有不属于 “to” 或 “for” 串联中的字母 ‘o’ 替换为数字 ‘0’。
完成替换后,输出修改后的字符串。
输入描述
输入仅包含一行,即字符串 (S)。
输出描述
输出也仅包含一行,即经过上述规则替换后的字符串。
#include<bits/stdc++.h>
using namespace std;
int main(){
string a;
cin>>a;
for(int i=0;i<a.length();i++){
if(a[i]=='i'){
a[i]='1';
}else if(i>0&&a[i]=='o'&&a[i-1]=='t'){
a[i-1]=' ';
a[i]='2';
}else if(i>1&&a[i]=='r'&&a[i-1]=='o'&&a[i-2]=='f'){
a[i-1]=' ';
a[i-2]=' ';
a[i]='4';
}
}
for(int i=0;i<a.length();i++){
if(a[i]=='o'){
a[i]='0';
}
}
for(int i=0;i<a.length();i++){
if(a[i]!=' '){
cout<<a[i];
}
}
return 0;
}