给定一个单词,如果该单词以er
、ly
或者ing
后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为 0),否则不进行任何操作。
输入格式
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为 32)。
输出格式
输出按照题目要求处理后的单词。
输出时每行末尾的多余空格,不影响答案正确性
样例输入
referer
样例输出
refer
代码:
#include <iostream> #include <string> #include<stdio.h> using namespace std; int main(){ string str; cin>>str; string s1="er",s2="ly",s3="ing"; int len=str.length(); if(len > 2 ){ string temp1 = str.substr(len-2,len); if( (temp1==s1 || temp1==s2 ) && len > 2){ cout<<str.substr(0,len-2)<<endl; }else if(len > 3){ string temp2 = str.substr(len-3,len); if(temp2 == s3 && len > 3){ cout<<str.substr(0,len-3)<<endl; }else{ cout<<str<<endl; } }else{ cout<<str<<endl; } }else{ cout<<str<<endl; } return 0; }
没啥难度,记得 substr() 获取子字符串的时候注意不要溢出即可 ---- 可以通过 判定字符串长度 来避免