计蒜客 —— 删除单词后缀

删除单词后缀

给定一个单词,如果该单词以erly或者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()  获取子字符串的时候注意不要溢出即可 ---- 可以通过   判定字符串长度  来避免

原文地址:https://www.cnblogs.com/expedition/p/11674432.html