【题目描述】
给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作。
【输入】
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为32)。
【输出】
输出按照题目要求处理后的单词。
【输入样例】
referer
【输出样例】
refer
代码:
#include<iostream>
#include<cmath>
#include<cstring>
#include<string>
#include<string.h>
using namespace std;
int main()
{
string S;
cin>>S;
int len=S.length();
if(S[len-2]=='e'&&S[len-1]=='r')
{
S=S.substr(0,len-2);
}
else{
if(S[len-2]=='l'&&S[len-1]=='y')
{
S=S.substr(0,len-2);
}
else{
if(S[len-3]=='i'&&S[len-2]=='n'&&S[len-1]=='g')
{
S=S.substr(0,len-3);
}
}
}
cout<<S;
return 0;
}
S=S.substr(a,b);
a表示从S字符串的哪一个位置开始截取;b表示要截取的长度,当b为负数时就往前截取
返回一个字符串,不能直接S.substr(a,b);这样对S没有影响。
或者判断之后直接for循环(int i=0;i<len-2;i++)输出S[i]