Run ID:3577

提交时间:2024-06-15 16:45:17

# include<iostream> # include<cstring> using namespace std; string s; //解法一:直接判断结束后2位/3位是否符合条件 void s1(){ cin>>s;//因为中间没有空格,可以直接用cin int lens=s.size(); if(s[lens-1]=='r'&&s[lens-2]=='e') s.erase(lens-2,2); else if(s[lens-1]=='y'&&s[lens-2]=='l') s.erase(lens-2,2); else if(s[lens-1]=='g'&&s[lens-2]=='n'&&s[lens-3]=='i') s.erase(lens-3,3); cout<<s<<endl; } //解法二,截取s字符串后2位和后3位,然后跟"er","ly","ing"比较,符合就删除 void s2(){ cin>>s; int lens=s.size(); // if(lens<2){cout<<s<<endl;return;} string er="er",ly="ly",ing="ing"; //s.substr(a,b):如果参数b省略,代表截取到末尾 if(s.substr(lens-2)==er||s.substr(lens-2)==ly) s.erase(lens-2); else if(lens>=3&&s.substr(lens-3)==ing) //这里要注意,如果只有2个字符lens-3=-1的情况;a[-1] s.erase(lens-3); cout<<s<<endl; } int main(){ s2(); //cin>>s; //cout<<("12"=="123"); return 0; }