【小韦同学@题解-删除单词后缀】
题目:
描述
给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作。
输入
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为32)。
输出
输出按照题目要求处理后的单词。
输入样例1
referer
输出样例1
refer
来源
http://shenben.club/problem?id=126
题解:
/*****************************************************************
* 题目:删除单词后缀
* 描述:给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该
后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何
操作。
* 作者:小韦同学
* 邮箱:weichangying_wcy@163.com
* 题解:
思路:1)判断后面两个字符是否为er或者ly,若是则删除结尾两个字符,
否则转2)
2)判断后面三个字符是否为ing,若是则删除结尾三个字符。
注: 1°删除的时候不要忘记减一。
2°注意逻辑表达式的书写。
******************************************************************/
#include <string>
#include <iostream>
using namespace std;
int main() {
string s;
getline(cin, s);
int len = s.size();
if (s[len - 2] == 'e' && s[len - 1] == 'r'
|| s[len - 2] == 'l' && s[len - 1] == 'y') {
s.erase(s.end() - 1);
s.erase(s.end() - 1);
} else if (s[len - 3] == 'i' && s[len - 2] == 'n' && s[len - 1] == 'g') {
s.erase(s.end() - 1);
s.erase(s.end() - 1);
s.erase(s.end() - 1);
}
cout << s;
return 0;
}
我是小韦同学,企者不立,跨者不行,每天进步一点点。
欢迎大家多多交流,如果发现有错误,请多指正。有疑问的同学也可以留言评论或者发邮件。邮箱:weichangying_wcy@163.com