赞
踩
给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为 0),否则不进行任何操作。
输入格式
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为 32)。
输出格式
输出按照题目要求处理后的单词。
referer
refer
判断最后两三个字母是不是"er", “ly”, “ing”。如果是,就少输出一个后缀,否则全部输出。
C++代码1:
#include<iostream> using namespace std; string s; int r; int main() { cin >> s; r = s.size() - 1;//r指向我们应该输出字符串的最后一个字符的下标 if(s[r - 1] == 'e' && s[r] == 'r') r -= 2;//如果最后两个字母是er,就不输出这两个字母,同时让r往前移动2位 else if(s[r - 1] == 'l' && s[r] == 'y') r -= 2;//如果最后两个字母是ly,就不输出这两个字母,同时让r往前移动2位 else if(s[r - 2] == 'i' && s[r - 1] == 'n' && s[r] == 'g') r -= 3;//如果最后三个字母是ing,就不输出这三个字母,同时让r往前移动3位 for(int i = 0; i <= r; ++i) cout << s[i];//输出到从0到r的所有字符 cout << '\n'; return 0; }
C++代码2:
#include<bits/stdc++.h> using namespace std; int main() { string str; while(cin >> str) { int len = str.length(); if(str[len - 2] == 'e' && str[len - 1] == 'r') { for(int i = 0; i < len - 2; i++) cout << str[i]; cout << endl; } else if(str[len - 2] == 'l' && str[len - 1] == 'y') { for(int i = 0; i < len - 2; i++) cout << str[i]; cout << endl; } else if(str[len - 3] == 'i' && str[len - 2] == 'n' && str[len - 1] == 'g') { for(int i = 0; i < len - 3; i++) cout << str[i]; cout << endl; } else cout << str << endl; } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。