给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作。
输入:
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为32)。
输出:
输出按照题目要求处理后的单词。
输入样例:
referer
输出样例:
refer
答案:
#include <iostream>
#include <string>
using namespace std;
string s;
int main()
{
cin >> s;
if (s.find("er", s.size()-2) != -1) // (要查找的字符,开始的位置), 把s.size()-2换成 0 也行
s = s.substr(0, s.size()-2);
else if (s.find("ly", s.size()-2) != -1)
s = s.substr(0, s.size()-2);
else if (s.find("ing", s.size()-3) != -1)
s = s.substr(0, s.size()-3);
// s.substr(开始截取的位置,结束的位置 )
// 从零开始 !!!
cout << s << endl;
return 0;
}
r e f e r e r
0 1 2 3 4 5 6
s.size()==6 ,是从零开始的!!
find size substr 前面都要加 s.