Descripción del Título
Dada una palabra, si la palabra termina con un sufijo de er, ly o ing, elimine el sufijo (el título garantiza que la longitud de la palabra después de eliminar el sufijo no es 0), de lo contrario no se realiza ninguna operación.
Formato de
entrada Introduzca una línea, incluida una palabra (sin espacios entre palabras, la longitud máxima de cada palabra es 32).
Formato de
salida Muestra las palabras procesadas de acuerdo con los requisitos del título.
Entrada de muestra
referer
Salida de muestra
refer
Ideas
Determina si las últimas dos o tres letras son "er", "ly", "ing". Si es así, envíe un sufijo menos, de lo contrario, envíe todos.
C ++ código 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 ++ código 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;
}